我已经在Mac上安装了WP-CLI,下一步是使用PHP脚本执行WP-CLI命令。
我试图用以下方式实现它,但我没有看到任何事情发生。有人能看看我的代码,告诉我我做错了什么吗?
我正在使用Docker并在中安装了WPDocker/xamp/www/wordpress_wwws/htdocs
目录
我是否需要从WP目录中执行PHP代码,或者可以在服务器上的任何目录中执行PHP代码?
define( \'WP_CLI_ROOT\', \'/usr/local/bin/wp\' );
include WP_CLI_ROOT . \'\';
$output = shell_exec("wp --info");
echo "<pre>".$output."</pre>";
是否需要使用PHP文件配置和设置wp cli?
此外,当我在终端上键入wp--info时,会出现以下信息。包目录旁边没有显示任何内容(&A);全局配置。我是否还需要对wp cli进行调整?
MAC-00343:htdocs mike$ wp --info
PHP binary: /usr/bin/php
PHP version: 5.6.30
php.ini used:
WP-CLI root dir: phar://wp-cli.phar
WP-CLI vendor dir: phar://wp-cli.phar/vendor
WP_CLI phar path: /Users/mike/Docker/xamp/www/wordpress_wwws/htdocs
WP-CLI packages dir:
WP-CLI global config:
WP-CLI project config:
WP-CLI version: 1.3.0
任何帮助或建议都将不胜感激。
谢谢
最合适的回答,由SO网友:Shawn H 整理而成
关于wp --info
输出,这很有意义。如果未安装任何软件包(请参阅wp package --help
或全局配置文件(wp-cli.yml
) 那么这些项目将是空白的。
您可以运行wp
来自任何位置的命令。如果您位于网站文件夹结构中的任何位置,它将通过向上导航文件夹树,自动检测您所在的网站,直到找到wp配置。php文件。
如果从站点文件夹结构之外的位置运行wp,则必须指定path
, 像这样:
wp --path=/path/to/wordpress/site/ core version
至于从PHP内部执行命令,以下内容对我很有用:
test.php
<?php
$output = shell_exec("wp --info");
echo "<pre>".$output."</pre>";
?>
正在运行
php test.php
从命令行,我可以得到:
PHP binary: /usr/local/Cellar/php71/7.1.1_12/bin/php
PHP version: 7.1.1
php.ini used: /usr/local/etc/php/7.1/php.ini
WP-CLI root dir: phar://wp-cli.phar
WP-CLI vendor dir: phar://wp-cli.phar/vendor
WP_CLI phar path: /Users/shawnhooper
WP-CLI packages dir: /Users/shawnhooper/.wp-cli/packages/
WP-CLI global config:
WP-CLI project config:
WP-CLI version: 1.3.0
此外,在项目的官方GitHub repo中,关于从PHP运行WP-CLI命令的讨论也很长。您可能会发现这个问题:
https://github.com/wp-cli/wp-cli/issues/1924