WordPress多站点中断,包括/需要wp-load.php
运行cronjob时,移动到多站点后,我遇到以下错误:WordPress多站点中断,包括/需要wp-load.php,php,wordpress,multisite,Php,Wordpress,Multisite,运行cronjob时,移动到多站点后,我遇到以下错误: Notice: Undefined index: HTTP_HOST in /var/www/html/myapp/wp-includes/ms-settings.php on line 38 Call Stack: 0.0009 392912 1. {main}() /var/www/html/myapp/wp-content/themes/fundingpress-child/test.php:0 0.00
Notice: Undefined index: HTTP_HOST in /var/www/html/myapp/wp-includes/ms-settings.php on line 38
Call Stack:
0.0009 392912 1. {main}() /var/www/html/myapp/wp-content/themes/fundingpress-child/test.php:0
0.0010 395888 2. require('/var/www/html/myapp/wp-content/themes/fundingpress-child/bootstrap.php') /var/www/html/myapp/wp-content/themes/fundingpress-child/test.php:6
0.0065 687056 3. require_once('/var/www/html/myapp/wp-load.php') /var/www/html/myapp/wp-content/themes/fundingpress-child/bootstrap.php:7
0.0066 699048 4. require_once('/var/www/html/myapp/wp-config.php') /var/www/html/myapp/wp-load.php:37
0.0074 800592 5. require_once('/var/www/html/myapp/wp-settings.php') /var/www/html/myapp/wp-config.php:89
0.0329 3665088 6. require('/var/www/html/myapp/wp-includes/ms-settings.php') /var/www/html/myapp/wp-settings.php:103
Warning: Cannot modify header information - headers already sent by (output started at /var/www/html/myapp/wp-includes/ms-settings.php:38) in /var/www/html/myapp/wp-includes/ms-settings.php on line 187
Call Stack:
0.0009 392912 1. {main}() /var/www/html/myapp/wp-content/themes/fundingpress-child/test.php:0
0.0010 395888 2. require('/var/www/html/myapp/wp-content/themes/fundingpress-child/bootstrap.php') /var/www/html/myapp/wp-content/themes/fundingpress-child/test.php:6
0.0065 687056 3. require_once('/var/www/html/myapp/wp-load.php') /var/www/html/myapp/wp-content/themes/fundingpress-child/bootstrap.php:7
0.0066 699048 4. require_once('/var/www/html/myapp/wp-config.php') /var/www/html/myapp/wp-load.php:37
0.0074 800592 5. require_once('/var/www/html/myapp/wp-settings.php') /var/www/html/myapp/wp-config.php:89
0.0329 3665088 6. require('/var/www/html/myapp/wp-includes/ms-settings.php') /var/www/html/myapp/wp-settings.php:103
0.0346 3804784 7. header() /var/www/html/myapp/wp-includes/ms-settings.php:187
我的cronjob php文件:
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL ^ E_NOTICE);
require_once( __DIR__ .'/../../../wp-load.php' );
?>
bippo
<?php
$myfile = fopen(__DIR__ . "/xxxxxxxxxxxxxxxxxxxxnewfile.txt", "w") or die("Unable to open file!");
$txt = "John Doe\n";
fwrite($myfile, $txt);
$txt = "Jane Doe\n";
fwrite($myfile, $txt);
fclose($myfile);
die("bb");
比波
似乎已经解决了我的问题,mydomain应该是您的实际域(localhost.localdomain
可能在使用本地或localhost
时,我使用了本地虚拟主机)我对multisite不太了解,但它不能破坏include/require……由于您的错误,加载似乎正在加载,但服务器http主机似乎未定义,您的代码中唯一可能导致此问题的是\uuuuu DIR\uuuuu
,它可能依赖于服务器设置,请尝试使用静态路径来排除它。您是否正确设置了multisite?这可能有点痛苦,特别是您需要确保wp-config.php中的新常量一切正常。您应该仍然能够在Multisite中使用cron,包括wp-load.php是将环境引入的方法。另一种选择可能是使用wp_cron——这是一种可能性吗?@david,它确实打破了这种可能性。转到ms settings.php
如果未设置某个服务器变量,它将重定向整个请求@TimMalone您将看到,ms settings.php
尝试访问$\u服务器['HTTP\u HOST']
,根据定义,该服务器不是从CLI设置的。实际上,我在自己运行CLI时设置了它(例如,我在运行脚本之前设置了$\u SERVER['HTTP\u HOST']='mydomain.com'
和$\u SERVER['REQUEST\u URI']='/'
,现在设置了它)works@TimMalone我不知道wp\u cron,那里的指针不错
global $_SERVER;
$_SERVER['HTTP_HOST'] = 'www.mydomain.com';
$_SERVER['REQUEST_URI'] = '/';
require_once( __DIR__ .'/../../../wp-load.php' );