我安装了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());
?>
有谁知道问题是什么?如何解决这个连接错误?
答案 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