新功能

使用邮件投递中心掌控您的邮件投递新功能:邮件投递中心,更智能的邮件投递 阅读更多 >

“此网站遇到了致命错误”:10 分钟内修复的方法

打开 WordPress 网站,页面上只剩一句“此网站遇到了致命错误”(There has been a critical error on this website),别的什么都没有。看起来很严重,但原因几乎总是某个插件、主题、PHP 版本变更或内存限制。下面一步步教您找出原因,让网站恢复正常。

AI 总结:
“此网站遇到了致命错误”:10 分钟内修复的方法

打开网站,首页不见了,只剩一句话:“此网站遇到了致命错误。”有时 wp-admin 也显示这句话,让您连后台都登录不了。

看起来很吓人,但这其实是 WordPress 最容易解决的问题之一。它表示 PHP 遇到了致命错误并停止运行,而罪魁祸首几乎总是某个插件、您的主题、PHP 版本变更或内存限制。您的内容仍安全地保存在数据库中。下面教您如何找到原因,让网站重新上线。

要点速览

  1. 出现致命错误提示,说明 PHP 遇到了致命错误,问题几乎总是出在某个插件、主题上,或发生在 PHP 变更之后。
  2. 先查看网站管理员邮箱:WordPress 会发送一封包含恢复模式链接的邮件,并指出出错的插件或主题。
  3. 如果没收到邮件,请开启 WP_DEBUG_LOG,然后在 wp-content/debug.log 中查找出错的文件。
  4. 无需进入 wp-admin,只要重命名插件文件夹即可禁用该插件,也可以用 WP-CLI 一次性禁用全部插件。
  5. 如果无法很快找到原因,就先恢复出错之前的最近一次备份,再在预发布环境中从容排查。

首先:最近改了什么? 回想一下出错前最后做了什么:更新了插件或主题、安装了新插件、更换了 PHP 版本,还是改了代码?那通常就是原因所在,也告诉您应该先从哪里查起。

第 1 步:查看恢复模式邮件

WordPress 遇到致命错误时,会向网站管理员邮箱发送一封主题为“您的站点遇到了技术问题”(Your Site is Experiencing a Technical Issue)的邮件。邮件中会指出出错的插件或主题,并附带一个专用的恢复模式链接。

打开链接并登录。WordPress 只会为您暂停出错的插件或主题,让您可以进入 wp-admin,对其进行更新、替换或停用。如果没看到邮件,请检查垃圾邮件文件夹。该链接会在一段时间后失效,但如果错误再次发生,WordPress 会重新发送。

第 2 步:查看错误信息

没收到邮件?那就让 WordPress 把错误写入日志。在 cPanel 中打开文件管理器,编辑网站目录下的 wp-config.php,在 /* That's all, stop editing! */ 上方添加以下几行:

// Log errors to wp-content/debug.log without showing them to visitors
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );

刷新出错的页面,然后打开 wp-content/debug.log。找到最后一条以 PHP Fatal error 开头的记录。它的末尾是一个文件路径,从路径就能看出问题出在哪里:

  • wp-content/plugins/plugin-name/...:就是这个插件;
  • wp-content/themes/theme-name/...:是您的主题;
  • Allowed memory size ... exhausted:内存限制问题(见第 5 步)。

排查完成后请删除这三行,以免日志不断变大。在 WebGee 上,您也可以查看 PHP 错误日志,我们的文档介绍了日志的位置。

第 3 步:禁用出错的插件

这一步不需要 wp-admin。在文件管理器中进入 wp-content/plugins/,重命名该插件的文件夹,例如把 slider-pro 改为 slider-pro.off。WordPress 找不到它,就会自动停用。然后刷新网站。

如果不知道是哪个插件,就把整个 plugins 文件夹重命名为 plugins.off。如果网站恢复正常,再把名字改回来,然后逐个重命名插件,直到错误再次出现。如果能用 SSH,WP-CLI 会更快:

# List plugins without loading them (works even when the site is down)
wp plugin list --skip-plugins --skip-themes

# Deactivate one plugin
wp plugin deactivate slider-pro --skip-plugins --skip-themes

# Or deactivate all of them, then reactivate one by one
wp plugin deactivate --all --skip-plugins --skip-themes

第 4 步:如果是主题的问题

在 wp-content/themes/ 中重命名当前启用主题的文件夹。如果安装了默认主题,WordPress 会自动切换过去,网站就能加载,外观虽然不同,但可以正常运行。接着更新主题或恢复可用的版本,再切换回来。正因如此,请至少保留一个默认主题。

第 5 步:其他常见原因

PHP 版本变更

如果错误是在升级 PHP 后立即出现的,请先切回原版本:在 cPanel 中使用Select PHP Version;在 WordPress Cloud 中进入高级 › 开发者工具。然后更新日志中指出的插件或主题,再在预发布环境中重新尝试新版 PHP。

内存不足

如果看到“Allowed memory size exhausted”,可以在 wp-config.php 中添加 define( 'WP_MEMORY_LIMIT', '256M' ); 来提高 WordPress 的内存上限,并在Select PHP Version › Options中检查 PHP 的 memory_limit。不过,如果某个插件在每个页面都要占用大量内存,真正该解决的是这个插件。

更新中断

如果更新进行到一半就停止了,您可能会看到维护提示或缺失文件。如果网站目录中有 .maintenance 文件,请将其删除,然后重新安装该插件或 WordPress 核心文件(wp core download --force --skip-content)。

第 6 步:拿不准时,直接恢复

如果网站关系到您的收入,而您又无法在几分钟内找到原因,请先恢复出错之前的最近一次备份,之后再慢慢排查。在 WebGee cPanel 主机上,打开 JetBackup,选择问题出现之前的还原点并恢复文件;只有当改动涉及数据库时才一并恢复数据库,以免丢失近期的订单或评论。在 WordPress Cloud 上,可以从备份中将网站恢复到某个时间点。

然后在预发布副本中复现问题,在那里修复,确认无误后再推送到正式环境。

致命错误排查清单

  • 记下出错前刚刚做了哪些改动
  • 查找“您的站点遇到了技术问题”邮件及其中的恢复链接
  • 开启 WP_DEBUG_LOG,查看 wp-content/debug.log 中最后一条致命错误
  • 重命名日志所指向的插件或主题文件夹
  • 如果错误发生在 PHP 变更之后,将 PHP 切回原版本
  • 仅在日志提示内存耗尽时才提高内存上限
  • 如果网站需要立即恢复,就从备份还原
  • 重新关闭调试,并在预发布环境中测试修复效果

不想独自处理?

致命错误似乎总在最糟糕的时候出现。在 WebGee,我们的工程师 7×24 小时在线聊天,可以和您一起查看日志,帮您尽快恢复网站;JetBackup 恢复和预发布副本也随时待命,在关键时刻为您保驾护航。

有工程师随时待命的 WordPress 主机备份、预发布环境、LiteSpeed 极速性能,以及 7×24 小时在线聊天支持,工程师每天都在处理 WordPress 问题。免费迁移。
查看 WordPress 主机方案

常见问题

“此网站遇到了致命错误”是什么原因造成的?

是 PHP 致命错误。常见原因包括:插件或主题更新、插件不支持当前的 PHP 版本、PHP 内存耗尽,或者更新文件损坏、更新不完整。

我没收到恢复模式邮件,它去哪儿了?

邮件会发送到“设置 › 常规”中填写的管理员邮箱地址。请检查垃圾邮件文件夹,并确认这个地址是否仍在使用。如果网站发信不稳定,建议配置 SMTP,这样下次就能顺利收到。

修复过程中会丢失内容吗?

不会。开启调试、重命名插件文件夹和切换主题都不会影响您的文章、页面或订单,这些都保存在数据库中。但恢复旧备份可能会导致数据丢失,所以如果不确定,请只恢复文件,或先导出近期订单。

进不了 wp-admin 也能修复吗?

可以。本指南中的所有操作都可以通过 cPanel 的文件管理器或 SSH 完成,当 wp-admin 本身也显示这个错误时,正好派上用场。

更换 PHP 版本后出现了这个错误,该怎么办?

先切回之前的版本:在 cPanel 中使用“Select PHP Version”,在 WordPress Cloud 中进入“高级 › 开发者工具”。然后更新出错的插件或主题,再在预发布环境中重新尝试新版本。

  • WordPress 致命错误
  • WordPress 故障排查
  • WP_DEBUG
  • 恢复模式
  • JetBackup
关于作者WebGee Sr. Support Engineer
在 Google 上将 WebGee 设为首选来源
“此网站遇到了致命错误”:10 分钟内修复的方法 | WebGee