• 周日. 11月 29th, 2020

站点遇到错误:禁用 WordPress 5.2 及以后版本的致命错误(WSOD)处理程序

12月 3, 2019

今天出现了“您的站点遇到了致命错误,请查看您的站点的管理电子邮箱来获得指引。”。搜索发现已经有人遇到过这个问题了,如下是解决方案。

原来,自 WordPress 5.2 开始,新增了一个新功能,就是当检测到插件或主题发生错误时,自动发送邮件通知网站管理员,即使在后端完全无法访问的情况下(例如发生所谓的“白屏死机”,White Screen Of Death,简称 WSOD),管理员仍然有机会登录并对此问题采取措施。这个就是新 WordPress 的致命错误(WSOD)处理程序。

WSOD
The site is experiencing technical difficulties. Please check your site admin email inbox for instructions.(此站点正遇到技术问题,请查看您的站点管理员电子邮件收件箱来获得指引。)

但我并没有收到啥错误信息邮件呀,而且感觉也没必要出错就发送邮件通知。那么,如何禁用它呢?

打开 WordPress 配置文件 wp-config.php,在WP_DEBUG下面一行添加如下代码即可:

define( 'WP_DISABLE_FATAL_ERROR_HANDLER', true );

另外,既然出错了,就需要开启 DEBUG 模式,显示详细的错误信息,那么怎样“完全的开启 WP 的 DEBUG 模式”呢?

打开 WordPress 配置文件 wp-config.php,将WP_DEBUG这一行修改为如下代码即可:

// 开启WP_DEBUG模式
define( ‘WP_DEBUG’, true );
// 开启DEBUG日志,一定要记得关闭这个日志功能并清理这个日志文件哦,产生的日志文件在: /wp-content/debug.log
define( ‘WP_DEBUG_LOG’, true );
// 显示errors and warnings
define( ‘WP_DEBUG_DISPLAY’, true );
@ini_set( ‘display_errors’, ‘On’ );

PS:调试好后,一定记得关闭 DEBUG 模式:

define( 'WP_DEBUG', false);

根据上面的提示,可以直接确定出现“您的站点遇到了致命错误,请查看您的站点的管理电子邮箱来获得指引。”这个问题的原因。

原来是修改主题functions.php文件时,出现了一些错误。