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 错误。 等待几分钟让更新完成,然后刷新浏览器。

其次,检查您的主机,确保您的服务器没有发生中断,或者正在进行计划维护。 检查主机的服务状态页面和电子邮件收件箱,看看您是否已收到问题通知。

WP 引擎服务状态页面。

如果您没有运行更新并且您的主机没有表明其服务器有问题,您可以开始执行以下故障排除步骤。

  • 停用插件
  • 切换到默认主题
  • 禁用内容分发网络
  • 停用 WordPress 心跳 API
  • 启用 wp_debug 模式
  • 升级您的托管计划

停用插件

编码错误的插件可能是 WordPress 中 503 错误的根源。 要检查这一点,您将禁用所有插件并尝试识别流氓插件。

由于您无法访问 wp-admin,因此您需要使用 FTP 客户端来访问插件目录(或 cPanel 文件管理器等工具)。

使用 FTP 连接到您的主目录。 主目录通常称为以下目录之一:

  • 公共_html
  • 万维网
  • html
  • 民众
  • 您网站的名称

从主目录导航到wp-content目录并找到plugins目录。

Web 服务器上的 WordPress 插件目录。

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

重命名plugins目录以测试WordPress中的503错误。

现在您已经更改了目录名称,所有插件都将被停用。 检查您的网站,查看 503 服务不可用错误是否仍然存在。

如果错误已经消失,则很可能是您的某个插件造成的。

要确定有问题的插件,请按照下列步骤操作:

  1. plugins_old目录更改回plugins
  2. 导航到插件文件夹。
  3. 从列表中的第一个插件开始,重命名插件文件夹,例如,将antispam-bee更改为antispam-bee-test
  4. 检查您的网站是否有 503 错误。 如果出现,您就知道哪个插件导致了错误。
测试各个插件以找出导致 WordPress 中出现 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

在 wp_options 表中搜索 option_name 之类的模板。

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

选项名称模板的搜索结果。

完成后应该是这样的:

将 option_value 重命名为二十二三。

stylesheet option_name 重复相同的步骤。

现在您已经更新了活动主题,请访问站点的前端以查看 503 服务不可用错误是否仍然存在。

如果错误似乎已清除,则问题很可能是您的主题造成的。

如果您可以选择永久更改主题,请随意这样做。 否则,请联系您的主题提供商并向他们报告 503 错误。

最近可能有主题更新导致了错误,因此您可以恢复到主题的早期版本。 或者您可以下载修复该错误的更新版本。

禁用内容交付网络(如果您正在使用)

如果您不使用 CDN,请跳过此步骤。 如果您是,请继续阅读。

有时 CDN 可能是 WordPress 中 503 错误的根源。 为了测试这一点,您的 CDN 应该有暂停服务的方法。 在 Cloudflare 上,您可以在“快速操作”菜单的“高级操作”部分中找到此选项,该菜单位于“概述”屏幕的右侧(向下滚动即可看到)。

在站点上暂停 Cloudflare,检查它是否导致 WordPress 中出现 503 错误。

如果暂停 CDN 解决了​​问题,您可能不想长期禁用 CDN,因此请联系您的提供商寻求帮助。

停用 WordPress 心跳 API

WordPress 心跳 API 控制 WordPress 上的几个基本功能。 例如,以下动作是心跳控制的:

  • 自动保存帖子
  • 锁定编辑器以防止两个用户同时编辑同一篇文章
  • 仪表板通知

心跳 API 将脉冲从客户端发送到服务器,使用 AJAX 进行通信。 使用的文件是/wp-admin/admin-ajax.php。 这会导致向服务器发出大量请求,如果您使用共享主机且资源有限,这可能会成为问题。

要查看 WordPress 心跳 API 是否导致 WordPress 中出现 503 错误,您可以通过向活动主题的functions.php 文件添加一些代码来临时禁用它。

使用 FTP 编辑器访问您的主题目录。 右键单击您的functions.php文件进行编辑(您可能希望先进行备份)。

如何编辑主题的functions.php 文件以检查heartbeat API 是否导致WordPress 中出现503 错误。

在初始的后面添加以下代码

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 错误的根源,但怀疑是您的托管造成的,您可能需要考虑升级您的托管计划。 这尤其适用于以下几种情况:

  1. 您正在使用共享主机,并且您的服务器资源正在超支。
  2. 您的网站越来越受欢迎,您的流量也随之增加。

如果您使用共享托管,可能是时候考虑托管托管了。 与您的托管提供商讨论升级您的计划。 在某些情况下,您可能希望完全切换网络主机。

👉 请参阅我们最好的网络托管指南,了解我们对不同类型的托管的建议。

转到顶部

永久修复 WordPress 中的 503 错误 🎯

如果您在 WordPress 中看到 503 错误,请不要惊慌。 故障排除步骤为:

  • 停用插件
  • 切换到默认主题
  • 如果使用则禁用 CDN
  • 停用 WordPress 心跳 API
  • 启用 wp_debug 模式
  • 升级您的托管计划

📌 希望这些步骤能够帮助您发现 503 错误的根源并结束您的痛苦。