2017-12-13 11 views
0

내 도메인의 prod, dev, staging, testupdate 개의 사이트를 업데이트하려면 wp-cli를 사용하여 테스트하고 있습니다. 내 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를 명령 줄에서 사용할 때 존재하지 않습니다. 당신의 최선의 선택은 예를 들어, 명령 줄에서 파일을 사용하는 경우를 지정하는 것입니다 :

당신은 WP-CLI 난에있을 때로 $ DB_NAME을 원하는 메신저 너무 확실하지으로
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'; 
    } 
} 

그것을 첫 번째 괄호 세트에 넣지 않았습니다.