WordPress5.2内置了一个新功能,当检测到插件或主题发生错误时,自动发送邮件通知网站管理员,即使在后端完全无法访问的情况下,管理员仍然有机会登录并对此问题采取措施。
因为国内部分主机的原因,很少有站长会收到错误提示邮件,最后还是需要通过WP_DEBUG来定位处理错误!
如果想禁用这个功能可以采用以下方法:
打开WordPress配置文件wp-config.php添加:
- define( 'WP_DISABLE_FATAL_ERROR_HANDLER', true );
将下面代码添加到当前主题函数模板 functions.php 中:
- add_filter( 'wp_fatal_error_handler_enabled', '__return_false' );
开启WP_DEBUG
WordPress出现了问题,学会Debug是我们WordPress开发者必须掌握的技能。WordPress为此也提供了WP_DEBUGWP_DEBUG_DISPLAY和WP_DEBUG_LOG这三个常量让你应对各种情况。下面讲经常经常使用到的方法:
1.如果是前台和后台空白,并且没有显示任何错误。
打开wp-config.php文件,将原来的WP_Debug设置改成如下设置:
- define('WP_DEBUG', true);
- define('WP_DEBUG_DISPLAY', true);
保存之后,再刷新前台或者后台,就可以看到错误的log了。
2.错误是发生在某些后台进程,比如cronjob或者微信自定义回复的时候,没法显示错误log,我们可以把log保存到debug文件。
打开wp-config.php文件,将原来的WP_Debug设置改成如下设置:
- define('WP_DEBUG', true);
- define('WP_DEBUG_DISPLAY', false);
- define('WP_DEBUG_LOG', true);
然后就可以在wp-content/debug.log文件中看到相应的错误信息了。
最后一定要记得,测试完了一定要改回去,就是:
- define('WP_DEBUG', false);
不然,你的用户也会看到你的系统错误了,或者wp-content/debug.log文件无限增量变大,把你服务器的空间都压榨完。