WordPress绝对是当下功能比较强大的内容管理系统(CMS),但它也会出现相当一部分的错误。就像任何其他人造系统一样,WordPress网站很容易因许多不同的原因而导致错误,比如安装了错误的主题或插件。
任何一个不当的操作都可能对WordPress网站有致命的影响,并不会发出警告,这是不可避免的,并且在网站运行过程中会经常出现。
话说话来,最令人困惑的WordPress错误之一就是臭名昭著的“Error Establishing a Database Connection(建立数据库连接错误)”。这是一个很不爽的错误,因为它不会告诉你问题出现在什么地方。
当访问WordPress网站时所看到的是以下界面:
如上图所见,这个并没有多少信息可以使用。当然,公平地说,它在某种程度上告诉您出了什么问题,即你的网站无法建立数据库连接。
更糟糕的是,很多事情都可能导致这个错误的出现,无论是初学者还是经验丰富的WordPress用户,几乎都对这个错误比较头疼。
在本文中,小编将向详细介绍如何解决此错误,以便你快速恢复网站的运营。废话补多少,下面一起来看看,因为还有很多东西要学习。
什么是“Error Establishing a Database Connection”错误?
如果我们不知道自己要面对什么样的错误,那解决起来就没有意义了。那么,究竟什么是“Error Establishing a Database Connection”错误?
众所周知,WordPress由两个主要部分组成。在后台,你有一个MySQL(或MariaDB)数据库,用于存储您的内容(包括文章,登录详细信息,评论,站点选项等)。
WordPress使用PHP编程语言编写的命令从数据库检索内容并创建您在浏览器中看到的页面。当PHP由于某种原因而无法从您的数据库检索内容时,便会发生错误。
对于图片,视频和其他媒体呢?好吧,这种内容不会存储在数据库中。它保存在您的wp-uploads文件夹中,每当需要图像作为页面/文章的一部分时,PHP就会启动并检索该特定图像。
换句话说,WordPress只是一个系统,可以从数据库和其他文件夹中检索内容,并使用PHP将所有内容组合在一起,以构建您在浏览器中看到的页面。
如果与数据库的连接失败,则会出现“Error Establishing a Database Connection”错误,并且网站不会显示任何内容。
这是一个很烦恼的错误,会对网站转化次数,收入和可信度造成负面影响。这就是为什么你应该立即修复它的原因。
为什么会发生“Error Establishing a Database Connection”错误
我们已经确定,当站点无法连接到数据库时,就会发生这种常见的WordPress错误。
但是什么导致连接中断呢?为什么会发生?我的意思是,网站昨天运行良好,然后今天突然就出现这样的错误。
这个很令人困惑,因为你并不知道究竟是什么原因引起的,下面简单总结引起“Error Establishing a Database Connection”错误的常见原因。
1、数据库凭证不正确
数据库凭据不正确是“建立数据库连接错误”错误的最常见原因之一。
错字,错误的引号和数据库用户名或密码中的空格将使您出现“ EEDC”错误。这就要求你(阅读您的网站)必须安全地访问数据库才能检索内容。
如果wp-config.php文件(稍后详细介绍)中的凭据与数据库中的凭据不匹配,则数据库将不允许任何连接通过,从而导致错误。
通常,首先需要确认在wp-config.php文件中具有正确的数据库凭据 。
2、数据库服务器已关闭
对于很多人可能不知道这单,那就是WordPress可以在多个服务器上运行,通常称为WordPress服务器堆栈。如果任何一台服务器出现故障,显然您将遇到一些错误。
服务器从浏览器接收请求,并将请求中继到各种服务器和服务。在它的后面,您有一个HTTP缓存服务器,该服务器确保重复的请求不会一遍又一遍地执行相同的PHP命令,从而节省了页面加载时间。
另外还有一个Web服务器,用于存储图像,视频,网站文件和其他媒体。然后,你将拥有数据库服务器,正如您所猜测的那样,该服务器托管网站数据库。
如果数据库服务器由于流量激增或许多并发连接而关闭,您将遇到“Error Establishing a Database Connection”错误。
现在,数据库服务器出现故障时你将无法执行任何操作,因为这个只能在服务器上面进行解决。
因此,建议大家租用优质WordPress主机托管,以便降低数据库服务器宕机的可能性。
如果放置在共享主机上,并且网站开始产生大量流量,则后期可能会遇到“Error Establishing a Database Connection”错误。
如果网站变得受欢迎,建议升级主机配置,在需要时考虑托管WordPress托管或云服务器以实现无缝可扩展性。
3、损坏的WordPress文件
损坏的文件可能会导致“Error Establishing a Database Connection”错误。损坏的文件可能来自WordPress核心,但使用正确的指示很容易诊断。
有时,预期的更新无法成功执行,这不是谁的错,也许在更新过程中出现了断电,或者发生了其他事情。
也许你已经在footer.php文件中添加了一些代码,以屏蔽某些功能,但现在事情可能变得一团糟。
关键是,错误可能是WordPress文件损坏的结果。但是,不必担心,因为修复损坏的WordPress文件就像A,B,C一样容易。
4、损坏的数据库
不管尝试什么,损坏的数据库都无法连接到WordPress网站。如果它已损坏,则每次加载网站时都会看到“Error Establishing a Database Connection”。
记住,你的数据库存储了PHP所需的所有重要信息,也就是在Web浏览器中看到的网页。
如果数据库已损坏,则无法检索所需的信息时,这将导致出现“Error Establishing a Database Connection”错误。
修复此错误的唯一方法是修复数据库或从以前的备份还原旧的版本。
请记住,很多事情都会破坏网站数据库,一些插件和主题可能会使数据库缺少表,数据传输中断可能会使您的数据库无用。
或者你可能会意外删除数据库表,尤其是如果你不了解服务器的工作方式。所以在操作数据库之前,务必要记得备份。
如何修复“Error Establishing a Database Connection”错误
基本上,问题在于你的网站未连接到数据库。因此,我们将从头开始解决这个问题。首先,我们将检查您的数据库并从那里继续。
1、损坏的数据库
首先检查错误是否是数据库损坏的结果。如果数据库已损坏,尝试所有其他解决方案将是徒劳的。
如何检查您的WordPress数据库是否已损坏很容易。导航到 yousite.com/wp-admin/,不要忘记用你的网站域名替换 yoursite.com。
如果收到“建立数据库连接错误”错误,则表明数据库运行状况良好。但是,如果遇到其他错误,例如“一个或多个数据库表不可用……”,则数据库已损坏。
如果yoursite.com/ wp-admin显示其他错误,则可能是数据库损坏。不过,请不要担心,因为修复数据库很简单,具体步骤如下。
登录到cPanel并单击“文件管理器”选项:
界面看起来可能和你自己的有点区别,但本质上功能是相同的。
进入文件管理器后,导航至WordPress网站的根目录。
另外:根目录通常被命名为public_html,www,Home或在您的网站(例如 yoursite.com)之后(即,如果您在同一服务器上有多个WordPress网站)。
如果使用的是cPanel,那么您的WordPress根目录内部应该看起来像这样:
在这里,找到 wp-config.php文件。接下来,右键单击 wp-config.php,然后单击“编辑”,如下所示。
这样做会在新选项卡中打开wp-config.php文件。在最底部,添加以下代码并保存您的更改。
define ( 'WP_ALLOW_REPAIR' , true);
在最底部:
设置好后,将浏览器指向yoursite.com/wp-admin/maint/repair.php,不要忘了用域名替换yousite.com。
如果仔细地遵循以上每个步骤去设置,那么将会出现以下界面:
在上面的页面上,您可以选择修复数据库或修复和优化数据库。WordPress将开始为您修复数据库,自己无需执行其他任何操作。
修复完成后,在wp-config.php文件中删除“ define(’WP_ALLOW_REPAIR’,true);”一行,以防止未经授权的用户使用的页面。
现在是否仍然看到“Error establishing a database connection”错误?
如果没有,那就太好了,你就可以正常访问。如果问题仍然存在,则可能是您的数据库凭据不正确。
2.检查您的数据库凭据
要与数据库建立连接,WordPress网站必须通过wp-config.php文件提供准确的登录详细信息 。如果这没有发生,您将看到“Error establishing a database connection”。
打开您的 wp-config.php文件并找到以下部分:
// ** MySQL设置-可以从虚拟主机上获取此信息** // / ** WordPress的数据库名称* / define('DB_NAME','vistxxx_wpxxx'); / ** MySQL数据库用户名* / define('DB_USER','vistxxx_wpxxx'); / ** MySQL数据库密码* / define('DB_PASSWORD','pkxxxxxxxx'); / ** MySQL主机名* / define('DB_HOST','localhost');
数据库凭据位于wp-config.php的此部分中。在这里,您可以查看和编辑数据库名称,用户名,密码和主机名。
如果以上任何凭证与存储在数据库中的凭证都不匹配,都将会出现“Error establishing a database connection”错误。
那么如何检查呢?
首先,检查wp-config.php 文件中是否具有正确的数据库名称 ,登录到您的cPanel并导航到phpMyAdmin:
登录后,单击Databases选项卡以查看可用的数据库:
从列表中,您可以看到wp-config.php文件中的数据库名称吗?如果是,那就很好了。如果看不到您的数据库,那么应该立即与主机商联系。或者,可以尝试从备份还原数据库。
如果找到数据库名称,请检查您的数据库用户名,密码和主机名是否正确。
3.检查数据库用户名,密码和主机名
对于以下部分,创建一个.PHP文件,该文件将保存在WordPress根目录中(在wpconfig.php文件所在的文件夹中)。
打开你喜欢的代码编辑器(我喜欢Notepad ++),然后将以下代码添加到新文件中:
<?php $test = mysqli_connect('localhost', 'db_user', 'db_password'); if (!$test) { die('MySQL Error: ' . mysqli_error()); } echo 'Database connection is working properly!'; mysqli_close($testConnection);
请将文件另存为check.php或任何您想要的文件;确保它是一个PHP文件。此外,确保替换localhost, DB_USER和DB_PASSWORD的相应值。
将上面的check.php文件保存并上传到WordPress根目录。
如果你愿意,额可以使用FTP(或SFTP),但是文件管理器以更加方便。
接下来,将浏览器指向yoursite.com/check.php。如果收到“Database connection is working properly!”的数据库凭据,则是正确的。
如果收到其他错误消息,例如“无法连接:用户’yourusername’@’localhost’的访问被拒绝(使用密码:yourpassword)”,则需要创建新的数据库凭据并更新wp-config.php文件相应地。
友情提示:你的错误可能源于DB_HOST,因为大多数Web托管公司默认使用localhost,但是你可以尝试将其更改为IP地址(127.0.0.1)或URL,具体取决于您的Web托管主机。
如果您的用户名和密码不起作用,那么是时候创建新的用户名和密码了,这非常容易。
该怎么办?
4.创建新的用户名和密码
登录到您的cPanel并单击MySQL Databases,如下所示。
在“数据库”页面上,向下滚动到“ MySQL用户”。在“添加新用户”下,输入新的用户名和密码,然后单击“ 创建用户”按钮:
记下新用户名和密码,因为稍后将它们添加到wp-config.php文件中。
之后,必须将创建的新用户分配到WordPress数据库。这是显示在wp-config.php文件中DB_NAME之后的数据库。
为此,请返回“ MySQL Databases”页面并向下滚动以将用户添加到数据库。选择您创建的新用户,WordPress数据库,然后单击Add,具体如下所示:
在下一页上,选择“ ALL PRIVILEGES”,然后单击页面底部的“Change”。
现在,您已经向WordPress数据库添加了新用户,是时候使用新凭据更新wp-config.php文件了。
转到文件管理器中的wp-config.php文件 ,并使用新的用户名和密码进行更新。确保引号之间没有空格。此外,请使用单引号而不是双引号。保存您的更改并刷新您的网站。
错误消失了吗?如果是这样,那么网站就可以正常访问了。如果您仍然看到“Error establishing a database connection”错误,则问题可能是WordPress文件已损坏。
5.修复损坏的WordPress文件
由于WordPress文件损坏,许多用户收到“Error establishing a database connection”错误。如果你在网站上添加了一些文件并出现错误,请删除这些有问题的文件,那一切就好了。
但是,很难确切地知道哪些文件已损坏,尤其是对于初学者而言。别担心,因为替换损坏的WordPress文件很简单。
同时,需要注意的是,因为此处的一个小错误可能会破坏您的整个网站。因此,在继续操作之前,请确保备份整个网站,即文件和数据库。
备份好之后,从WordPress.org下载WordPress的新副本。然后解压缩计算机上的WordPress软件包,并删除wp-content文件夹以及wp-config-sample.php文件。这样可以确保您不会覆盖主题,插件和现有的wp-config.php文件。
接下来,使用FileZilla等FTP程序将其余文件上传到WordPress根目录。这样做将替换所有有问题的WordPress核心文件。
之后,清除浏览器缓存,然后尝试重新加载网站。如果一切顺利,您将再也不会遇到“Error establishing a database connection”的错误。
如果错误是由有问题的插件导致的(虽然可能性较低,但仍然可能)…
打开文件管理器并访问wp-content文件夹。在该文件夹内,你应该会看到plugins文件夹等。
接下来,右键单 plugins文件夹,并将其重命名为plugins_old:
重命名plugins文件夹会停用网站上的所有插件。现在,尝试刷新您的网站。错误消失了吗?如果是这样,那么您的WordPress插件之一就是问题。
要检查出有有问题的插件,请登录WordPress管理员并一次激活一个插件,每次检查是否再次出现该错误。
找到导致错误的插件后,将其删除,找到替代方法,并告知开发人员。有问题插件删除之后,记得将plugins_old重命名为plugins。
如果尝试上述解决方法后错误仍然存在,请在评论中告知套路,小编将会尽力帮助大家找到解决方案。此外,别忘了清除浏览器缓存,因为该错误可能是缓存中误报的结果。
总结
到这里基本也就说完了,当你WordPress网站遇到可怕的“Error establishing a database connection”错误时,不必紧张。正如我们今天所说的这样,它相对容易解决,而且主机商业很乐意帮你解决。
希望今天的指南能帮助您解决“Error establishing a database connection”的恐惧。当然除了以上几种原因,可能还有更多原因会导致WordPress出现“Error establishing a database connection”错误,欢迎大家交流讨论。