在使用WordPress的过程中,可能会由于某些原因出现网站前后台都显示白屏,并显示“503服务暂时不可用 503 Service Unavailable Error”错误。今天倡萌将为大家展示展示如何调试和修复 WordPress 503错误。
WordPress 503错误是什么?
“503服务不可用错误”表示您的网站处于活动状态,但由于特定原因而无法访问服务器。它使WordPress前后台都无法访问。
根据服务器的配置,错误的提示方式可能有所不同。例如,您可能会看到下面的错误代码:
- 503服务不可用
- Http/1.1服务不可用
- HTTP服务器错误503
- 503错误
- HTTP 503
- HTTP错误503
导致这个错误一般由几种可能,可以从错误的WordPress插件或主题(行为不当的自定义PHP脚本)到服务器端问题几个方面去排查。但是,您不必担心,因为修复503服务不可用错误相对容易。
WordPress 503错误的原因和解决方案
错误的原因可能有几个方面,所谓我们需要逐一进行排查,然后尝试各种解决方案来解决该问题。
原因1、错误的WordPress插件
如果在安装或更新特定插件后遇到503错误,则插件可能是罪魁祸首。只需删除对应的插件即可解决。但是,如果您不知道哪个插件引起了503错误,可以通过禁用所有插件来诊断问题的根源。
停用所有WordPress插件
插件冲突或损坏是WordPress 503错误的一个常见原因。因此,您需要停用有故障的插件。但是现在网站后台无法访问了,我们只能通过FTP或服务器文件管理器来禁用WordPress插件,具体方法如下:
1.使用FTP或文件管理器访问您网站的wp-content目录。
2.将plugins文件夹重命名为其他名称,比如 plugins123,这样就可以停用所有插件。然后尝试登录 通过网址 您的域名/wp-admin/
访问并登录后台,如果此操作解决了问题,则意味着您的插件有问题。我们现在需要做的就是找到确切的罪魁祸首。
3.将plugins123文件夹更改回原来的名称plugins。这样,WordPress可以重新访问您的插件,但是所有插件仍处于非活动状态。
4.登录到您的WordPress仪表板,然后访问 插件 > 已安装的插件,一次激活一个插件,然后刷新网站,如果激活某个插件后出现503错误,那说明就是这个插件导致的错误。
5.通过FTP或文件管理器,访问 wp-content/plugins 目录,删除有问题的插件即可。
原因2、错误的WordPress主题
如果主题有错误或已经损坏,也有可能会导致无法正常登录网站。所以我们可以禁用掉当前的主题,并恢复为默认主题。
方法1、通过FTP或文件管理器切换主题
1.使用FTP或文件管理器访问您网站的wp-content目录。
2.进入到 themes 目录下,重命名当前使用的主题。
倡萌建议一定要保留至少一个WordPress默认自带的主题,以便主题有问题的时候可以切换为自带主题。重命名主题文件夹以后,网站前台页面是无法访问的,但是可以直接访问后台 wp-admin 进行登录。
3.重命名了主题以后,试下是否可以登录,如果可以登录,说明是主题有问题。登录后台以后,你可以在 外观 – 主题,重新上传安装主题或者更换为其他主题。
方法2、通过phpMyAdmin更换主题
如果您不记得正在使用的主题名称,则无需担心。一般主机管理后台都会提供有phpMyAdmin等数据库管理界面,登录你的主机后台,进入到phpMyAdmin界面,然后按照下面的操作进行,假设你的wp-content/themes 目录中有一个WP自带的默认主题 twentyseventeen:
1.在当前网站的数据库中,进入wp_options表,并通过翻页,找到 template 和 stylesheet字段。
2.您当前使用的主题名称位于option_value列上。双击名称,并将其重命名为 twentyseventeen (也就是主题文件夹的名称) 。
3.完成后,重新刷新您的网站。
如果停用当前使用的主题后 WordPress 503错误消失,说明当前使用的主题版本有错误,请尝试更新主题,或者换一个WordPress主题。
原因3、错误的自定义PHP代码
如果503服务不可用错误仍然存在,则可能是网站上某个地方的自定义PHP代码段有问题而引起的。
但是,您如何确定哪些第三方代码段是有问题的代码段?
因此,请尝试调试您的站点以诊断和修复有问题的地方。
启用WP_DEBUG调试模式
由于WordPress 503错误通常使您无法进入网站后台,因此请从FTP或文件管理器激活WP_DEBUG模式,以便您可以检查错误日志。请按照以下步骤操作:
1.通过FTP或文件管理器进入到网站的根目录文件夹。找到并打开wp-config.php文件,你可以在文件里找到一行代码:
define ('WP_DEBUG', false);
2.将上面的那行代码替换为:
define ('WP_DEBUG', true); //开启调试模式
define ('WP_DEBUG_LOG', true); //将调试日志写入文件
define ('WP_DEBUG_DISPLAY', false); //不要在网站前台显示错误代码
3.保存,然后刷新网站。然后通过文件管理器访问 wp-content 目录,应该可以看到一个名为 debug.log
的文件,下载后使用Excel打开就可以查看错误日志。
4.然后你就需要在错误日志中,查看具体的错误问题,并修复它们。
原因4、与服务器相关的问题
如果以上方法仍然没有结果,则问题可能出在您的Web服务器上。您可以尝试使用下面三种方法。
1、限制WordPress心跳
WordPress Heartbeat是一个内置API,可让您的网站具有自动保存文章功能。此功能会消耗您的服务器资源,但是您可以使用Heartbeat Control WordPress插件对其进行限制或完全将其禁用,更多介绍请看《什么是WordPress Heartbeat API以及如何对其进行管理》
要确定WordPress心跳是否是WordPress网站上“503服务暂时不可用”错误的原因,请在将下面的代码添加到主题的functions.php文件开头的 <?php
下面中:
add_action('init', 'wpkj_stop_heartbeat', 1);
function wpkj_stop_heartbeat(){
wp_deregister_script('heartbeat');
}
保存后,请重新刷新网站并查看错误是否消失。如果它不能解决503 WordPress错误,则WordPress心跳不是问题的根本原因。因此,不要忘记从functions.php文件中删除刚才添加的代码。
2、限制Google的最大抓取速度
Google和其他搜索引擎会抓取您的网站来索引您的内容-他们会定期访问您的网站以收集内容并确定其他排名指标。
此爬网过程可能会损害您的服务器资源。因此,它可能会降低您的网站速度,并导致503 WordPress错误。
幸运的是,将网站集成到Google Search Console后,您可以限制最大爬网速度。从“抓取速度设置” 页面上执行此操作,或请求 Google限制您的网站抓取速度。
您所做的更改将于三个月内生效。此外,如果您的网站具有非WWW和WWW版本,则必须同时执行这两个操作。
3、增加服务器资源
您是否一直收到WordPress 503错误?如果是这样,请检查您的Google Analytics获取其他流量统计根据。如果您获得网站的流量有一个比较大的提升,则肯定是服务器资源不足了。
但是,如果您没有多余的流量却仍然看到503错误,则可能是服务器内存不足或CPU占用过高。
如果您当前的托管计划不能支持较大流量,那么该是时候切换到新的WordPress托管服务或升级您的托管套餐了。
总结
WordPress 503错误是最令人困惑的错误只要,因为您的WordPress前台和后台都不会显示具体是什么原因。但是根据经验,非常大的可能是由WordPress插件或主题中的PHP代码错误引起的。
尝试以下方法来排查和修复该错误:
- 停用您的WordPress插件
- 禁用当前的WordPress主题
- 启用WP_DEBUG
- 解决与服务器相关的问题
如有任何疑问,请在下面留言。祝好运!
遇到过的基本上都是插件导致的,去除即可
一般换服务器容易出现这个问题,所以搬家时最好禁用所有插件恢复默认主题后在搬家。