在WordPress中调试和修复503服务不可用错误

在使用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表,并通过翻页,找到 templatestylesheet字段。

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
  • 解决与服务器相关的问题

如有任何疑问,请在下面留言。祝好运!

倡萌

一个文科IT宅男,喜欢折腾WordPress和被它折腾 ^_^

1 条评论

发表评论