WordPress错误诊断模式-专治WP页面空白,服务器500错误,插件冲突

我们在使用Wordpress时,经常会遇到Wordpress页面空白,Wordpress后台无法登录以及服务器500错误等问题,常见于Wordpress版本更新升级、安装插件之后,以及服务器PHP、Mysql等大版本更新之后,Wordpress函数不受支持的原因导致的。

另外,像挖站否wzfou.com这样,如果Wordpress的插件安装数量过多的话,也是很容易导致冲突的。之前在我正在用的WordPress插件一文中有分享过我正在用的插件就是这样的问题,老版的MailPoet居然与PHP 7.2 和 PHP 7.3 不兼容,导致Wordpress页面空白。

这篇文章就来分享一下WordPress错误诊断模式,主要用于处理Wordpress页面空白,服务器500错误和插件冲突等问题,更多的WordPress优化技巧如下:

  1. WordPress利用MailPoet自建RSS更新邮件通知系统-用户订阅和管理
  2. 用Algolia给WordPress添加实时站内搜索功能-搜索质量更高内容更准
  3. WooCommerce支付宝付款-WooCommerce支付插件设置和使用

PS:2019年12月8日更新,对于Wordpress没有自带移动端自适应功能或者是本身的移动主题不是很好看,我们可以试试AMP自适应: WordPress AMP移动优化-打造适合移动搜索引擎和手机浏览访问WP

PS:2019年12月25日更新,有时在Wordpress后台操作时容易出现502错误,解决办法: 解决WordPress后台编辑保存菜单出现502错误

一、手动开启WP错误调试

打开在 wp-config.php 文件,添加以下代码(注意如果原配置文件中有define('WP_DEBUG', true);等代码,请把它们注释掉):

/**
 * This will log all errors notices and warnings to a file called debug.log in
 * wp-content (if Apache does not have write permission, you may need to create
 * the file first and set the appropriate permissions) 
 */
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
@ini_set('display_errors',0);

保存后,你就可以在 wp-content/debug.log 文件中看到相应的错误信息了。如果你想直接显示错误信息在网页上,替换成:

/ 开启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' );

最后,测试完成后一定要注释掉或者删除以上代码,以防坏人!

二、WP错误诊断调试插件

2.1 Query Monitor

插件:https://wordpress.org/plugins/query-monitor/

Query Monitor插件可以帮助你调试database queries, PHP errors, hooks和actions, block editor blocks, enqueued scripts and stylesheets, HTTP API calls等等,启用后显示如下图:

Query Monitor可以显示Wordpress详细的错误信息以及查询信息,以便于参考:

2.2 Debug Bar

插件:https://wordpress.org/plugins/debug-bar/

启用插件前,你需要编辑你的WP配置文件,加入以下代码(用完了记得删除它们):

#Debug Bar插件
define( 'WP_DEBUG', true );
define( 'SAVEQUERIES', true );

Debug Bar插件可以显示PHP错误、mysql queries查询等,在Wordpress右上角显示Debug Bar按钮。

点击后可以查看详细的PHP错误、Mysql查询信息,如下图:

三、总结

手动开启WordPress错误诊断模式,可以选择是否直接在页面上显示错误信息,还是输出到目录下日志当中,对于一些重要的网站建议不显示错误信息,而是在日志当中进行查看。

使用Query Monitor和Debug Bar开启模式诊断模式,相对于手动开启诊断模式,显示错误信息会直观,查询起来会比较容易一些。总之,为了尽量避免WP错误,我们还是少用插件为好。

发表评论