使用PHP运行WP-CLI

时间:2017-08-18 14:31:10

标签: php wordpress docker wp-cli

我在Mac上安装了WP-CLI,下一步是使用PHP脚本执行WP-CLI命令。

我试图通过以下方式实现它,但我没有看到任何事情发生。有人可以看看我的代码并告诉我,我做错了吗?

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 时,会显示以下信息。 Package Dir 旁边没有任何内容出现。 全局配置。我还需要调整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

非常感谢任何帮助或建议。

由于

2 个答案:

答案 0 :(得分:0)

enter image description here

以下是我的终端上wp --info返回的内容。

我看到的唯一主要区别是php.isi used:字段。

抱歉,我无法提供更多帮助,但我不知道DOCKER是什么,我使用的是MAMP,而不是XAMP

phar path只是我正在使用的当前目录

答案 1 :(得分:0)

问题是您的wp cli不在 path 环境变量中,您应按以下方式将 wp cli根目录添加到路径环境中,希望这会有所帮助。有关所有wp cli命令的参考,请访问URL-https://wpcommands.com

<?php
$saved = getenv("path");    // get the value of PATH environment variable and save current value
$newld = "/usr/local/bin";          // extra paths to add - in this case, it should be your wp cli root
if ($saved)
{
    $newld .= ":$saved";
}
// append old paths if any
putenv("path=$newld");        // set new value

// exec wp cli command
$output = shell_exec("wp --info");
echo "<pre>".$output."</pre>";


?>