1

尝试在我的 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 使用?

4

2 回答 2

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 );

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

于 2020-03-09T15:01:35.573 回答
0

我有相同的配置和错误,我用来绕过错误的解决方法是始终添加

--url=mysite.com 

在特定站点的 wp-cli 命令的末尾。这设置了 wp-cli 操作所需的 WP_HOME、WP_SITEURL 和 HTTP_HOST,因此您无需更新 wp-config.php 文件。

对于多站点的站点范围命令,您可能需要使用

wp site list --field=url | xargs -n1 -I % wp YOUR-CLI-COMMAND --url=%
于 2021-10-11T11:54:36.623 回答