Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何使wp cli在带有条件语句的wp config文件中工作?_Php_Wordpress_Wp Cli - Fatal编程技术网

Php 如何使wp cli在带有条件语句的wp config文件中工作?

Php 如何使wp cli在带有条件语句的wp config文件中工作?,php,wordpress,wp-cli,Php,Wordpress,Wp Cli,我正在使用wp cli进行测试,以更新我的域的prod、dev、staging、test和update站点 在mywp配置文件中,如果有条件语句,则会出现以下错误: PHP Notice: Undefined index: HTTP_HOST in phar:///usr/local/bin/wp/php/WP_CLI/Runner.php(1070) : eval()'d code on line 22 PHP Notice: Undefined index: HTTP_HOST in p

我正在使用wp cli进行测试,以更新我的域的prod、dev、staging、test和update站点

在mywp配置文件中,如果有条件语句,则会出现以下错误:

PHP Notice:  Undefined index: HTTP_HOST in phar:///usr/local/bin/wp/php/WP_CLI/Runner.php(1070) : eval()'d code on line 22
PHP Notice:  Undefined index: HTTP_HOST in phar:///usr/local/bin/wp/php/WP_CLI/Runner.php(1070) : eval()'d code on line 24
PHP Notice:  Undefined index: HTTP_HOST in phar:///usr/local/bin/wp/php/WP_CLI/Runner.php(1070) : eval()'d code on line 26
PHP Notice:  Undefined index: HTTP_HOST in phar:///usr/local/bin/wp/php/WP_CLI/Runner.php(1070) : eval()'d code on line 28
PHP Notice:  Undefined variable: db_name in phar:///usr/local/bin/wp/php/WP_CLI/Runner.php(1070) : eval()'d code on line 34
Error: Can’t select database. We were able to connect to the database server (which means your username and password is okay) but not able to select the `` database.
这就是我如何编写我的wp-config.php文件的方法

if ($_SERVER["HTTP_HOST"] === 'example.com') {
  $db_name = 'example';
}else if ($_SERVER["HTTP_HOST"] === 'dev.example.com') {
  $db_name = 'example_dev';
}else if ($_SERVER["HTTP_HOST"] === 'staging.example.com'){
  $db_name = 'example_staging';
}else if ($_SERVER["HTTP_HOST"] === 'update.example.com') {
  $db_name = 'example_update';
}

define('DB_NAME', $db_name);
有没有办法让wp cli处理此文件

$_SERVER["HTTP_HOST"]
从命令行使用PHP时不存在。最好的选择是在命令行中使用文件时指定一种情况,例如:

if (php_sapi_name() == "cli") {
    //set db_name when in cli
} else {
    //set db_name as per host
    if ($_SERVER["HTTP_HOST"] === 'example.com') {
      $db_name = 'example';
    }else if ($_SERVER["HTTP_HOST"] === 'dev.example.com') {
      $db_name = 'example_dev';
    }else if ($_SERVER["HTTP_HOST"] === 'staging.example.com'){
      $db_name = 'example_staging';
    }else if ($_SERVER["HTTP_HOST"] === 'update.example.com') {
      $db_name = 'example_update';
    }
}
由于我不太确定您在wp cli中希望$db_name是什么,所以我在第一组大括号中没有设置它