你有没有曾经遇过,当你造访使用WordPress架设的网站时,出现「建立数据库连线时发生错误(Establishing a Database Connection)」的错误讯息?
今天,就要来教大家,当遇到WordPress网站出现「Establishing a Database Connection」的错误时,该如何解决与修复这个问题。
注意
在进行以下操作之前请确保你有先备份过一次网站。
「建立数据库连线时发生错误(Establishing a Database Connection)」发生原因
「建立数据库连线时发生错误(Establishing a Database Connection)」的发生原因有很多种,如果你是WordPress的新手,你可能会完全不知道该怎么办,也不晓得该如何自己排解这个问题。
简单来说,会出现这个错误的原因乃是出自于WordPress 无法和你的资料库进行连线,由于WordPress 和资料库无法正确连接的原因有很多种,因此这里就不深入了解所有的原因,大致上常见的错误情况为:
- 资料库的帐号密码已变更
- 资料库档案已损毁
- 资料库的存放位置改变
- wp-config 的资料库凭证设定错误
确认/wp-admin/ 路径
首先,你可以先确认当你网站的「/wp-admin/」是不是同样也会收到相同的错误,举例来说,如果你的网站是「https://test.techmoon.xyz」,你可以看一下输入「htttps://test.techmoon.xyz/wp-admin/」的画面是不是也会出现「建立数据库连线时发生错误(Establishing a Database Connection)」的错误,如果此时出现了「One or more database tables are unavailable」的错误,那么就表示你需要执行修复资料库的步骤。
幸好,WordPress 本身提供了自动修复资料库的程式,能帮助你自动扫瞄问题并尝试进行修复。
启用WordPress 自动修复资料库功能
要启用WordPress自动修复资料库的功能,首先你需要找到「wp-config.php」这个档案,在这个档案当中找到「/* That’s all, stop editing! Happy blogging. */」后,将以下程式码写在它的上方:
define('WP_ALLOW_REPAIR', true);
在你加入并储存档案之后,接着就可以前往「/wp-admin/maint/repair.php」页面进行查看,假设你的网站是「https://test.techmoon.xyz/」那么就是前往「https ://test.techmoon.xyz/wp-admin/maint/repair.php」页面,进行修复资料库的动作。
这里要特别注意,在设定「define(‘WP_ALLOW_REPAIR’, true);」之后,是所有人都可以造访「/wp-admin/maint/repair.php」这个页面进行此操作的,因此一但当你执行完修复与优化的操作之后,请记得一定要回去「wp-config.php」页面将「define(‘WP_ALLOW_REPAIR’, true);」删除。
假设在经过上述的解决方法之后,你的问题仍然无法被解决,那么就让我来试试接下来的另外一种方法吧。
检查wp-config.php 档案的资料库凭证
「wp-config.php」是WordPress系统当中非常重要的档案,其中包含了WordPress与资料库连结的相关凭证与相关内容。假如你曾经在安装WordPress之后更改了资料库的使用者名称或密码,那么在这里你仍需要再重新设计一次,否则就会出现「建立数据库连线时发生错误(Establishing a Database Connection)」的错误讯息。
define('DB_NAME', 'database-name');
define('DB_USER', 'database-username');
define('DB_PASSWORD', 'database-password');
define('DB_HOST', 'localhost');
请根据你的资料库名称、使用者名称、密码,确认和「wp-config.php」档案当中的设定是一致的。此外,在「DB_HOST」栏位部分,并不是所有的虚拟主机的值都会是「localhost」,如果你是使用SiteGround、BlueHost、Hostinger、GreenGeeks、WPX Hosting、Sugarhosts、WPWebHost、iPage、DreamHost、HostPapa、HostGator、WPWebHost …的主机,那么它们的值就是localhost,根据不同的主机与你所采用的方法,你的「DB_HOST」的值可能会有所不同。
检查虚拟主机的负载情况
有另外一种可能,就是当你的网站有过多的流量在同时间造访,导致你的虚拟主机负荷不了时,就会让你的网站变得越来越慢,最终导致某些使用者会看到此错误讯息。
这种情况大多出现在便宜的虚拟主机当中,当你所使用较便宜的虚拟主机甚至是免费的虚拟主机时,大部分的规格都不会太优秀,因此更容易导致这种错误情况发生。
你可以查看我们所做的虚拟主机评测,来协助你挑选更适合你的主机商:
根据我的经验来说,大部分遇到「建立数据库连线时发生错误(Establishing a Database Connection)」情况的主要原因为:
- 虚拟主机负载过高导致临时性错误
- 资料库的密码与wp-config.php 当中的设定不一致
当你是新手时,遇到这种情况可能会让你不知所措,但是一但你学会了使用上面简单的方法来排解问题时,你就能更加容易且快速的去面对与解决,不必浪费太多时间去寻找问题点与解决方法。