WordPress 中的 503 错误:它是什么以及如何修复它(2023 指南)
已发表: 2023-07-11尝试处理 WordPress 中的 503 错误?
当您的 WordPress 站点的服务器由于某种原因不可用时,会显示 503 错误(又名 503 服务不可用错误)🐞。
这看起来可能是一个可怕的错误,但通过一些系统的故障排除可以找到错误的根源。 了解 WordPress 中出现 503 错误的原因以及如何修复该错误。 🔧
WordPress 中的 503 错误是什么?
当您的 Web 服务器由于某种原因不可用时,会显示 503 服务不可用错误。 不幸的是,该错误并没有具体告诉您出了什么问题,这意味着修复该错误可能需要一些时间。
根据托管设置和您的 Web 浏览器,您可能会看到此错误的以下变体之一:
- 503服务不可用
- 503服务暂时不可用
- HTTP 服务器错误 503
- HTTP 错误 503
- 错误 503 服务不可用
- 由于维护停机或容量问题,服务器暂时无法满足您的请求。 请稍后再试。
当出现 503 错误时,您的整个网站将不可用,包括 WordPress 管理员。 🐛
是什么导致 WordPress 出现 503 错误?
503 错误可能是由服务器维护、DDoS 攻击、代码片段、插件或主题中的错误代码引起的; 或服务器上的流量过大,特别是当您使用资源有限的共享主机时。
如果 503 错误是由维护、DDoS 攻击或流量激增引起的,它可能会在短时间内自行解决。 如果它是由错误的代码引起的,则在您解决问题之前,它可能会再次发生。
如何修复 WordPress 中的 503 错误
在开始实施以下步骤之前,值得检查一些事项。
首先,您是否在网站上运行过更新? 当您的网站处于维护模式时,可能会显示 503 错误。 等待几分钟让更新完成,然后刷新浏览器。
其次,检查您的主机,确保您的服务器没有发生中断,或者正在进行计划维护。 检查主机的服务状态页面和电子邮件收件箱,看看您是否已收到问题通知。

如果您没有运行更新并且您的主机没有表明其服务器有问题,您可以开始执行以下故障排除步骤。
- 停用插件
- 切换到默认主题
- 禁用内容分发网络
- 停用 WordPress 心跳 API
- 启用 wp_debug 模式
- 升级您的托管计划
停用插件
编码错误的插件可能是 WordPress 中 503 错误的根源。 要检查这一点,您将禁用所有插件并尝试识别流氓插件。
由于您无法访问 wp-admin,因此您需要使用 FTP 客户端来访问插件目录(或 cPanel 文件管理器等工具)。
使用 FTP 连接到您的主目录。 主目录通常称为以下目录之一:
- 公共_html
- 万维网
- html
- 民众
- 您网站的名称
从主目录导航到wp-content
目录并找到plugins
目录。

右键单击该目录并使用重命名功能将其重命名为plugins_old
。

现在您已经更改了目录名称,所有插件都将被停用。 检查您的网站,查看 503 服务不可用错误是否仍然存在。
如果错误已经消失,则很可能是您的某个插件造成的。
要确定有问题的插件,请按照下列步骤操作:
- 将plugins_old目录更改回plugins 。
- 导航到插件文件夹。
- 从列表中的第一个插件开始,重命名插件文件夹,例如,将antispam-bee更改为antispam-bee-test 。
- 检查您的网站是否有 503 错误。 如果出现,您就知道哪个插件导致了错误。

现在,您需要保持该插件处于停用状态并寻找替代方案。
切换到默认主题
503 错误的另一个可能来源是您的主题。 要测试这一点,您可以将站点切换到 WordPress 加载的默认主题之一,例如“二十二三”。
不幸的是,您不能使用与插件相同的技巧并重命名主题文件夹。 如果这样做,WordPress 将抛出错误,指出The theme directory "[theme-name]" does not exist
。
相反,您需要使用phpMyAdmin访问 WordPress 数据库,并在那里更改活动主题。
⚠️注意–我们假设您的网站上仍然安装了默认的二十二三主题。 如果您删除了默认主题,您可能需要首先使用 FTP 安装它 – 您可以手动将主题文件夹上传到站点的wp-content/themes
文件夹。
通过主机控制面板登录 phpMyAdmin,然后查找wp_options
表。 根据您的主机,它可能具有与wp_
不同的前缀 - 例如wpcz_options
。
单击搜索链接并在表中搜索 option_name 字段中的单词template
。

您应该得到一个结果。 双击 option_value(本例中为 genesis)并将主题重命名为二十二三。

完成后应该是这样的:

对stylesheet
option_name 重复相同的步骤。
现在您已经更新了活动主题,请访问站点的前端以查看 503 服务不可用错误是否仍然存在。
如果错误似乎已清除,则问题很可能是您的主题造成的。
如果您可以选择永久更改主题,请随意这样做。 否则,请联系您的主题提供商并向他们报告 503 错误。
最近可能有主题更新导致了错误,因此您可以恢复到主题的早期版本。 或者您可以下载修复该错误的更新版本。
禁用内容交付网络(如果您正在使用)
如果您不使用 CDN,请跳过此步骤。 如果您是,请继续阅读。
有时 CDN 可能是 WordPress 中 503 错误的根源。 为了测试这一点,您的 CDN 应该有暂停服务的方法。 在 Cloudflare 上,您可以在“快速操作”菜单的“高级操作”部分中找到此选项,该菜单位于“概述”屏幕的右侧(向下滚动即可看到)。

如果暂停 CDN 解决了问题,您可能不想长期禁用 CDN,因此请联系您的提供商寻求帮助。
停用 WordPress 心跳 API
WordPress 心跳 API 控制 WordPress 上的几个基本功能。 例如,以下动作是心跳控制的:

- 自动保存帖子
- 锁定编辑器以防止两个用户同时编辑同一篇文章
- 仪表板通知
心跳 API 将脉冲从客户端发送到服务器,使用 AJAX 进行通信。 使用的文件是/wp-admin/admin-ajax.php。 这会导致向服务器发出大量请求,如果您使用共享主机且资源有限,这可能会成为问题。
要查看 WordPress 心跳 API 是否导致 WordPress 中出现 503 错误,您可以通过向活动主题的functions.php 文件添加一些代码来临时禁用它。
使用 FTP 编辑器访问您的主题目录。 右键单击您的functions.php文件进行编辑(您可能希望先进行备份)。

在初始的后面添加以下代码
add_action( 'init', 'stop_heartbeat', 1 ); function stop_heartbeat() { wp_deregister_script('heartbeat') }
保存对文件的更改,然后尝试再次访问您的网站以查看 503 错误是否仍然存在。 如果它消失了,您就知道是心跳 API 造成的。
不幸的是,禁用心跳 API 将停止许多有用的功能,因此最好限制心跳。 您可以使用心跳控制插件来执行此操作。 请记住首先从functions.php 中删除禁用心跳的代码。
启用 wp_debug 模式
调试模式内置于 WordPress 中,作为排除错误的一种方法。 默认情况下未启用它,因此您需要一些代码来激活它。
使用 FTP 客户端访问wp-config.php文件。 编辑它并向其中添加以下代码行:
define( 'WP_DEBUG', true ); define( 'WP_DEBUG_LOG', true ); define( 'WP_DEBUG_DISPLAY', false );
保存并重新上传文件。
现在在您的 wp-content 目录中查找名为debug.log的文件。 这会记录在您网站上发现的所有错误。 日志文件告诉您哪个文件导致每个错误以及负责的代码行。 debug.log 文件不会告诉您导致 WordPress 中出现 503 错误的原因,但它会为您提供下一步查看位置的线索。
您还可以查找 Web 服务器的调试日志,通常可以在此处找到:
- 阿帕奇:/var/log/apache2/error.log
- Nginx:/var/log/nginx/error.log
如果需要,请联系您的托管提供商以获取解释日志文件的更多帮助。
升级您的托管计划
如果您无法查明 503 错误的根源,但怀疑是您的托管造成的,您可能需要考虑升级您的托管计划。 这尤其适用于以下几种情况:
- 您正在使用共享主机,并且您的服务器资源正在超支。
- 您的网站越来越受欢迎,您的流量也随之增加。
如果您使用共享托管,可能是时候考虑托管托管了。 与您的托管提供商讨论升级您的计划。 在某些情况下,您可能希望完全切换网络主机。
👉 请参阅我们最好的网络托管指南,了解我们对不同类型的托管的建议。
永久修复 WordPress 中的 503 错误 🎯
如果您在 WordPress 中看到 503 错误,请不要惊慌。 故障排除步骤为:
- 停用插件
- 切换到默认主题
- 如果使用则禁用 CDN
- 停用 WordPress 心跳 API
- 启用 wp_debug 模式
- 升级您的托管计划
📌 希望这些步骤能够帮助您发现 503 错误的根源并结束您的痛苦。