禁用 WordPress 5.2 及以后版本的致命错误(WSOD)处理程序
  • 分类:PHP
  • 发表:2019-09-23
  • 围观(8,798)
  • 评论(0)

昨天,由于我这个博客所采用的主题供应商的授权认证服务器挂了,导致无法验证授权,于是,整个网站挂了。页面就显示  “此站点正遇到技术问题。”

什么鬼?!

原来,自 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);

共有 0 条评论

Top