开启 WP_DEBUG 模式需要在 WordPress 根目录的 wp-config.php 文件中修改配置常量,建议在测试环境操作以避免生产环境报错暴露敏感信息。
先说结论:修改 wp-config.php 文件启用调试常量,配合日志记录定位插件错误,生产环境务必关闭错误直接显示。
- 先确认:备份网站文件和数据库,防止配置错误导致站点无法访问。
- 先处理:在 wp-config.php 中设置 WP_DEBUG 为 true 并开启日志记录。
- 再验证:查看 wp-content/debug.log 文件确认报错来源是否为特定插件。
快速处理思路
直接编辑 wp-config.php 文件,在"/* 停止编辑,到此为止! */"注释之前添加以下代码片段:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
@ini_set( 'display_errors', 0 );
为什么会这样
WordPress 默认隐藏 PHP 错误是为了防止敏感路径信息泄露给访客。
开启 WP_DEBUG 后,PHP 的错误、警告和通知会被记录或显示,帮助开发者定位代码问题。插件引发的报错通常是因为函数冲突、版本不兼容或语法错误,默认配置下这些信息会被抑制,导致网站白屏或功能异常但无提示。
分步处理
按顺序执行以下操作,确保每一步都可回滚:
- 备份配置:通过 FTP 或主机文件管理器下载 wp-config.php 原文件。
- 编辑文件:使用文本编辑器打开 wp-config.php,找到 define( 'WP_DEBUG', false ); 行。
- 修改常量:将 false 改为 true,并补充 WP_DEBUG_LOG 和 WP_DEBUG_DISPLAY 配置。
- 保存上传:保存文件并上传覆盖原文件,确保文件权限为 644。
- 复现错误:访问触发报错的页面,等待几秒让日志生成。
怎么验证是否生效
检查 wp-content 目录下是否生成 debug.log 文件,并查看最新错误记录。
如果配置正确,操作后该文件会出现或更新。打开文件查看末尾内容,寻找 PHP Fatal error 或 Warning 关键字,确认报错文件路径是否指向某个插件目录(如 wp-content/plugins/插件名)。
常见坑
生产环境开启 WP_DEBUG_DISPLAY 会导致错误信息直接显示在页面上,存在安全风险。
- 不要在生产环境将 WP_DEBUG_DISPLAY 设置为 true,这会暴露服务器路径。
- 调试完成后必须将 WP_DEBUG 改回 false,否则日志文件会持续增大占用空间。
- 部分主机环境禁止写入 debug.log,需检查 wp-content 目录写入权限。
常见问题
debug.log 文件在哪里?
默认位于 wp-content 目录下,全名为 debug.log。
开启调试模式会影响网站速度吗?
会有轻微影响,因为系统需要额外写入日志,建议调试完成后立即关闭。
如何完全关闭调试模式?
将 wp-config.php 中的 WP_DEBUG 常量值改回 false 即可停止记录。
参考来源
WordPress.org - Debugging in WordPress (https://wordpress.org/documentation/article/debugging-in-wordpress/)