首页 > Wordpress > 正文

WordPress 显示「技术困难」严重错误怎么办?recovery mode 完整用法

fenij 2026-08-11 42 Wordpress

WordPress 升级插件、换主题、装新插件之后,前台突然打不开,显示一行小字「此站点正遇到技术困难」(There has been a critical error on your website)。别慌——这是 WordPress 5.2+ 自带的 fatal error recovery mode,相当于给你留了一扇应急逃生门。

critical error 到底什么意思

WP 把页面生成过程中「PHP 跑挂了、不能继续往下走」的致命错误抓出来,主动停了流程,避免给访客一个白屏或半截 HTML。它通过 wp_die() 替代了原来的白屏行为,输出更友好的提示。

🛑
致命错误
PHP 跑挂了
📧
恢复邮件
发给管理员
🔓
临时解锁
带调试模式

第一步:去邮箱找恢复链接

WordPress 会自动给「设置 → 常规」里填的管理员邮箱发一封信,标题类似「Your Site is Experiencing a Technical Issue」。里面有一个特殊链接,长这样:

https://yourdomain.com/wp-login.php?action=enter_recovery_mode&token=xxxxx

这个 token 24 小时内有效。点进去直接登录后台——这时 WordPress 自动暂停了出错的插件或主题,让你能在干净的环境里操作。

第二步:进后台看错误详情

登录后会看到顶部一个明显的红色横幅:「One or more plugins/theme failed to load properly. …You can deactivate them here.」点过去,WP 会告诉你:

报错项 典型原因 处理方式
插件 X 报错 新版本不兼容 PHP 8.x 暂停 + 等待作者更新
主题 functions.php 自定义代码语法错 切回旧主题 + 修代码
内存耗尽 Allowed memory size exhausted 调高 WP_MEMORY_LIMIT
致命语法错 Parse error: syntax error FTP 改回上一个能跑的版本

第三步:开 debug 看根因

恢复模式下看到的报错信息可能还不够细。在 wp-config.php 里加:

define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);

再去前台触发一次(刷新一次页面),/wp-content/debug.log 末尾会写下完整堆栈:哪个文件、哪一行、调用栈一路上的函数。把 Fatal error 那行粘出来搜一下,几乎都能找到对应的解决方案。修完记得关掉 debug:

define('WP_DEBUG', false);

第四步:FTP 收尾

恢复链接过期了?邮箱收不到(被反垃圾拦了)?直接走 FTP:

1. 进入 wp-content/plugins/,把怀疑的插件文件夹改个名,比如 akismetakismet_disabled
2. 同样进入 wp-content/themes/,把当前主题改个名
3. 刷新前台,如果错误消失,就是这个插件或主题的问题;再依次回滚、启用排查

常见问题

Q:没收到恢复邮件怎么办?
A:先检查「设置 → 常规」里的管理员邮箱是不是真的能收到(很多客户填了早年不再用的邮箱)。然后在 wp-config.php 里手动加 define('RECOVERY_MODE_COOKIE', '随便一串'); 强制启用。如果还是不发,多半是主机屏蔽了 wp_mail(),直接走 FTP 第四步。

Q:recovery mode 进去了,但功能不全怎么办?
A:recovery mode 只停用了出错的那一项,其他插件都在。但为了安全起见,避免再触发 fatal error,先停用可疑的全部插件、回到默认主题,再逐个开启排查。

Q:Fatal error 和 500 Internal Server Error 有什么区别?
A:500 是 Nginx/Apache 在请求层捕获的服务器错误,可能根本看不到 WP;Fatal error 是 WP 自己捕获的 PHP 错误,至少能看到「技术困难」的提示,能进 recovery mode 处理。两者经常并发——500 查不出来时打开 debug 看 Fatal error 那一行就是根因。

critical error 是 WordPress 给站长兜底的一道防线,平时被这层保护挡住的故障,照上面四步一般 10 分钟内就能定位。如果按 debug.log 的报错信息搜不出原因,可以把那一段贴到 fenij.com 留言里,我帮你接着分析。

相关完整手册

系统化的排查与配置思路,建议顺手收藏这几篇完整手册: