2017-12-13 9 views
0

wp-cliを使用して、自分のドメインのprod,devstagingtest、およびupdateサイトを更新してテストしています。私wp-configファイルで条件文を使ってwp-configファイルでwp-cliを動作させる方法は?

は、条件文を持って、私は次のエラーを取得する:

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をこのファイルで使用する方法はありますか?

答えて

1
$_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のIにあるとき$ db_nameはなりたいものをあまりにも確認してくださいそれを最初の中かっこにセットしていません。

関連する問題