WordPress 3.9多站点数据库连接错误

时间:2014-04-23 12:18:08

标签: php wordpress wpmu wordpress-3.9

我安装了ZendFW应用程序和WPMU。 Zend应用程序的管理员有一个界面,可以创建一个新的MU站点。

我添加了wp-load.php,然后调用了wpmu_create_blog,依此类推......

一旦我将WP更新为3.9,我就错误地建立了数据库连接。

此测试代码可以正常使用3.8但在尝试WP 3.9时会出现db错误。

blog38 是WP 3.8

<?php 

include "../blog38/wp-load.php";

global $wpdb;
echo "<pre>";
var_dump($wpdb->tables());
?>

blog39 是WP 3.9

<?php 

include "../blog39/wp-load.php";

global $wpdb;
echo "<pre>";
var_dump($wpdb->tables());
?>

有谁知道问题是什么?如何解决这个连接错误?

1 个答案:

答案 0 :(得分:0)

我在WordPress讨论中发布了它并提交了一张票。问题出在ms-setting.php文件中,他们设置$ path和$ current_site-&gt;路径变量。在WP 3.8.3中他们有 $current_site->path = $path = PATH_CURRENT_SITE;

并在WP 3.9中设置

$current_site->path = PATH_CURRENT_SITE;

和$ path由$ _SERVER [&#39; REQUEST_URI&#39;]变量决定。因此,当您在应用程序中加载wp-load.php文件(并且wordpress在子目录中)时,您有$ path和$ current_site-&gt;路径变量不同,最终没有博客定义的情况,这会导致数据库连接错误。

目前的解决方法是在加载$_SERVER['REQUEST_URI'] = '/blog/';

之前覆盖wp-load.php

可以找到更多信息:

http://wordpress.org/support/topic/wordpress-39-multisite-db-connection-error https://core.trac.wordpress.org/ticket/27999