我们在使用Wordpress时,经常会遇到Wordpress页面空白,Wordpress后台无法登录以及服务器500错误等问题,常见于Wordpress版本更新升级、安装插件之后,以及服务器PHP、Mysql等大版本更新之后,Wordpress函数不受支持的原因导致的。
另外,像挖站否wzfou.com这样,如果Wordpress的插件安装数量过多的话,也是很容易导致冲突的。之前在我正在用的WordPress插件一文中有分享过我正在用的插件就是这样的问题,老版的MailPoet居然与PHP 7.2 和 PHP 7.3 不兼容,导致Wordpress页面空白。
这篇文章就来分享一下WordPress错误诊断模式,主要用于处理Wordpress页面空白,服务器500错误和插件冲突等问题,更多的WordPress优化技巧如下:
- WordPress利用MailPoet自建RSS更新邮件通知系统-用户订阅和管理
- 用Algolia给WordPress添加实时站内搜索功能-搜索质量更高内容更准
- 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错误,我们还是少用插件为好。