WordPress Multisite “Error establishing a database connection” in localhost
尝试将WordPress转换为多站点设置时,出现错误:
Error establishing a database connection
我正在Windows 7和WAMP服务器上使用WordPress 3.7.1。
wp-config.php
1 2 3 4 5 6 | define('WP_ALLOW_MULTISITE', true ); define('SUBDOMAIN_INSTALL', false); define('DOMAIN_CURRENT_SITE', 'localhost'); define('PATH_CURRENT_SITE', '/wordpress_test4/'); define('SITE_ID_CURRENT_SITE', 1); define('BLOG_ID_CURRENT_SITE', 1); |
.htaccess
1 2 3 4 5 6 7 8 9 10 11 12 13 | RewriteEngine On RewriteBase /wordpress_test4/ RewriteRule ^index\\.php$ - [L] # add a trailing slash to /wp-admin RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L] RewriteCond %{REQUEST_FILENAME} -f [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^ - [L] RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L] RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\\.php)$ $2 [L] RewriteRule . index.php [L] |
您需要添加到
1 | define('MULTISITE', true); |
我有同样的问题。我跳过了这一行,因为我的wp-config中已经有
遇到相同的问题,找到了3种可能的解决方案:
确保:wp-config.php中的DB_NAME,DB_USER,DB_PASSWORD和DB_HOST确实是期望值。
正如Dima L.之前提到的,define('MULTISITE',true);也是预期的。
(为我解决了什么)为wordpress设置了多站点,将" wp_blogs"表的"路径"列更改为我的网站的未定义位置。我将其更改为" /",并重新建立了数据库连接。
由于这个问题,我挣扎了很长时间。终于找到了解决方案。
您不应一次在wp-config.php文件中添加所有这些设置。请按照此处描述的确切步骤操作:http://codex.wordpress.org/Create_A_Network
仅将以下代码添加为第一步:
1 2 | /* Multisite */ define( 'WP_ALLOW_MULTISITE', true ); |
然后刷新您的页面。
之后,在管理面板中,转到"工具"->"网络设置",然后选择子站点设置。
对于其余的内容,只需使用上面链接中的说明即可。
祝好运!
我最近遇到了一次奇怪的相遇。设置在不同域下运行的开发服务器并将多站点设置移至该服务器后,我收到相同的错误"建立数据库连接时出错"。我检查了所有wp_options表在相应设置中是否具有正确的域,并且我的数据库连接具有正确的凭据并且可以在正常范围内工作。
我找到了一种获取更好的错误报告的方法。我在functions.php的dead_db()函数中添加了数据库对象的输出,然后向我显示它在表wp_blogs中找不到我的网站的任何博客。我只是忘了更新此表中测试服务器的域。
1 2 3 4 5 6 | function dead_db() { global $wpdb; echo"[cc]"; print_r($wpdb); echo" |
";
wp_load_translations_early();
code> pre>
希望能帮助到某人:)
我在wp-config.php中的DOMAIN_CURRENT_SITE已定义('DOMAIN_CURRENT_SITE','www.example.com');
删除wp_blogs->域中的" http://"解决了我的问题。
我加了$ base ='/';进入配置,这解决了问题。
1 2 3 4 5 6 7 | define('MULTISITE', true); define('SUBDOMAIN_INSTALL', true); define('DOMAIN_CURRENT_SITE', 'mydomain.com'); $base = '/'; define('PATH_CURRENT_SITE', '/'); define('SITE_ID_CURRENT_SITE', 1); define('BLOG_ID_CURRENT_SITE', 1); |
如果您正在运行WHM / cPanel,并且已经检查了是否已添加
如果您遇到数据库错误,则可能是您的名称服务器或A记录正确。否则,您的域将不会指向具有数据库连接的服务器。但是,您可能已经忘记或错过了cPanel别名中的域名。
只需转到cPanel,搜索"别名",然后在"创建新别名"下键入您缺少的域名。
您还可以通过登录WHM,搜索"列表帐户",搜索所需的帐户并单击CP图标来进入cPanel。
将多站点从子目录移动到根目录后,出现了问题。
对我来说解决问题的部分原因是Sabin Chirila提到的内容:
但是我不得不改变一些东西。
除了上述所有内容外,如果在多站点环境中工作,还请检查以下内容:
在各个子目录(/ home / subsitename)中,每个(子)站点都存在单独的wp-config.php和.htaccess文件,因此必须在所有这些文件中调整上述参数。
例如,由于/ home目录中的这些文件都可以,所以我的主站点正常运行,但是当尝试访问子站点时,我一直收到数据库连接错误消息,直到我也调整了这些文件。
受Sabin的回答启发,我检查了
这是我固定的方法
配置设置
1 2 3 4 5 6 | define( 'MULTISITE', true ); define( 'SUBDOMAIN_INSTALL', false ); define( 'DOMAIN_CURRENT_SITE', 'localhost' ); define( 'PATH_CURRENT_SITE', '/myblog/' ); define( 'SITE_ID_CURRENT_SITE', 1 ); define( 'BLOG_ID_CURRENT_SITE', 1 ); |
然后在数据库表(使用phpmyadmin找到)中,wp_blogs将您的根博客(应为lie / number 1)的值设置为
1 2 | domain localhost root /myblog/ |
最后-重置options表中的sitrurl和主页(再次使用phpmyadmin找到)
1 | http://localhost/myblog/ |