Wordpress 多站点制动器 wp-load.php

Wordpress Multisite brakes wp-load.php

我正在尝试使用 php 编写一个小工具。这通过加载所需 Wordpress 安装的 wp-load.php 临时连接到同一网络上的两个 Wordpress 系统之一 space。

两个系统都是独立的多站点安装,没有连接。 服务器上的文件夹结构如下所示:

/ -> WordPress install 1
/foldername/ -> WordPress install 2
/toolname/ -> Tool

使用 Wordpress 安装 1 它工作得很好。 它不适用于 Wordpress 安装 2。错误日志给出以下错误:

[14-Apr-2022 07:25:37 UTC] PHP Warning: Cannot modify header information - headers already sent by (output started at /usr/local/www/apache24/noexec/domainname/_offer/includes/functions.php: 596) in /usr/local/www/apache24/noexec/domainname/luxuscharter/wp-includes/ms-settings.php on line 79

但是:这一行的函数是一个简单的计算函数,它不做任何与该问题相关的事情。我认为问题与特定的wordpress安装有关。如果我从 Wordpress-Installation 2 的 wp-config 中删除 mutlisite-data,它工作得很好。

更新 我设法通过设置不同的路径来加载文件,这似乎到目前为止有效。但是我没有得到 Wordpress 无法建立数据库连接的响应。有什么想法吗?

我自己找到了问题的答案,因为这里给出的答案对我没有帮助。

事实证明,这是由于子文件夹安装引起的,而不是,如此处所述,是由于其中一个功能或数据库连接,或正在发送的 header 信息。

WP-load如果是子文件夹安装,可能无法识别对应的Wordpress系统隶属关系。以下步骤对我有帮助:

a) 在安装

子文件夹的wp-content文件夹中创建一个sunrise.php

代码:

<?php if (strpos($_SERVER['REQUEST_URI'],'/subfolderinstallation') === false) $_SERVER['REQUEST_URI'] = '/subfolderinstallation/'; } ?>

b) 添加到 wp-config.php 安装以下行:

define( 'SUNRISE', 'on' );

c) 为 php-file 加载以下两个文件以识别正确的路径

     require_once('../../luxuscharter/wp-blog-header.php');
     require_once  "../../luxuscharter/wp-load.php";

我很确定您不必执行上述所有步骤,但这正是我的工作方式。