WordPress多站点中断包括/要求wp-load.php

时间:2016-06-10 19:39:06

标签: 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.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");

是的:这个cronjob PHP文件只是一个例子。我需要访问所有WordPress功能。如果我删除wp-load.php调用,这是有效的。当我的网站不是多站点时,这是有效的。现在,它不适用于所述错误。

1 个答案:

答案 0 :(得分:3)

  global $_SERVER;
  $_SERVER['HTTP_HOST'] = 'www.mydomain.com';
  $_SERVER['REQUEST_URI'] = '/';
  require_once(  __DIR__ .'/../../../wp-load.php' );

似乎修复了我的问题,其中mydomain应该是您的实际域(localhost.localdomain可能在本地或localhost使用时,我使用本地虚拟主机