WordPress 提示”There has been a critical error on this website”(此网站发生了严重错误)是一个常见的致命错误提示,意味着网站前端无法正常访问。这个提示是 WordPress 5.2 版本开始引入的”致命错误保护”机制,旨在防止白屏死机,同时给站长提供排查线索。

主要原因

1. 主题或插件冲突

最常见的原因,特别是:

刚安装或更新某个插件/主题后出现

插件与当前 WordPress 版本不兼容

多个插件之间代码冲突

使用了破解版/盗版主题或插件(代码质量差或有恶意代码)

2. PHP 版本不兼容

WordPress 核心、主题或插件需要更高/更低的 PHP 版本

服务器升级 PHP 版本后,旧代码出现语法错误

使用了已弃用的 PHP 函数

3. 内存不足

PHP 内存限制(memory_limit)过低

复杂操作(如批量导入、大文件处理)耗尽内存

共享主机资源受限

4. 数据库连接问题

数据库凭据错误(wp-config.php 配置有误)

数据库服务器宕机或连接超时

数据库表损坏或数据不一致

5. 文件损坏或缺失

WordPress 核心文件被意外删除或损坏

主题/插件文件上传不完整

服务器磁盘空间已满导致写入失败

6. 代码错误

主题或插件中的 PHP 语法错误

自定义代码(functions.php 中添加的代码)出错

钩子(Hook)使用不当导致无限循环或冲突

如何排查和解决

第一步:查看错误日志

WordPress 会向管理员邮箱发送详细的错误信息,检查邮件获取具体的错误文件和代码行。

如果没有收到邮件,可以启用调试模式:

通过 FTP/File Manager 打开 wp-config.php

找到 define( ‘WP_DEBUG’, false ); 改为 define( ‘WP_DEBUG’, true );

添加以下代码获取详细错误:

define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false ); // 避免在前端显示错误

查看 /wp-content/debug.log 文件

第二步:进入恢复模式

WordPress 5.2+ 提供的恢复模式链接通常在管理员邮件中,点击链接可以:

无需访问前端即可登录后台

直接停用出问题的插件或主题

查看具体错误详情

第三步:逐一排查

如果是插件问题:

重命名 /wp-content/plugins/ 文件夹为 plugins-old,所有插件会被停用

逐个恢复插件,找出罪魁祸首

如果是主题问题:

切换到默认主题(如 Twenty Twenty-Four),重命名当前主题文件夹

如果是 PHP 版本问题:

在主机控制面板切换 PHP 版本(建议 7.4 或 8.0+)

如果是内存问题:

在 wp-config.php 中添加:define( ‘WP_MEMORY_LIMIT’, ‘256M’ );

第四步:检查数据库

通过 phpMyAdmin 检查数据库表是否损坏

运行修复表操作

确认 wp-config.php 中的数据库信息正确

预防措施

保持更新:及时更新 WordPress 核心、主题和插件

使用正版:避免使用破解主题/插件,代码质量有保障

定期备份:使用主机备份功能定期备份

测试环境:重大更改前先在staging环境测试

选择可靠主机:避免超售严重的廉价共享主机