WP CLI在wp-config.php中使用http_host时避免使用“未定义索引:HTTP_HOST”

时间:2019-02-21 11:20:32

标签: wp-cli

尝试在我的wordpress安装上使用wp-cli时遇到错误PHP Notice: Undefined index: HTTP_HOST,因为我的wp-config.php中包含以下行:

define('WP_SITEURL', 'http://' . $_SERVER['HTTP_HOST'] . '/');

此处https://github.com/wp-cli/wp-cli/issues/730报告了错误,此处https://make.wordpress.org/cli/handbook/common-issues/#php-notice-undefined-index-on-_server-superglobal存在解决方案,该方法是在wp-cli上下文中设置默认值:

if ( defined( 'WP_CLI' ) && WP_CLI && ! isset( $_SERVER['HTTP_HOST'] ) ) {
    $_SERVER['HTTP_HOST'] = 'example.com';
}

我不明白这种解决方案。 $_SERVER['HTTP_HOST']的意义不是不必为当前域名设置值吗?还是这个示例意味着我可以为$_SERVER['HTTP_HOST']输入任何值,无论我的真实域名是什么,因为wp-cli不会使用它?

1 个答案:

答案 0 :(得分:0)

在Wordpress中,如果您未指定WP_HOME,WP_SITEURL和HTTP_HOST,则会收到这些警告。对于我的网站,这些并不能阻止其工作,但是我认为它是否可以警告您,因为需要解决。

下面这些行将正确分配这3个变量,警告将消失...

if ( defined( 'WP_CLI' ) && WP_CLI ) {
  $_SERVER['HTTP_HOST'] = $_SERVER['SERVER_NAME'] = 'Here you need to add the server name or website name';
}

define( 'WP_HOME', 'https://' . $_SERVER['HTTP_HOST']);
define( 'WP_SITEURL', WP_HOME );

希望这些可以解决该问题!