开启WordPress Debug模式,轻松排查网站问题
wordpress 开启debug

首页 2025-09-02 22:16:41

【正文·三哥式开心腔】 哈哈!各位小伙伴,三哥我今天又蹦跶着来码字啦!昨晚熬夜写新章节,结果网站突然“啪”地给我来了一行红彤彤的报错,吓得我差点把键盘啃了半块。好在我灵机一动,想起了“开启 debug”这门神技!就像在魂兽森林里突然点亮十万年魂环,黑暗瞬间退散,bug 无处遁形!今天三哥就把这快乐秘诀打包送给你们,保管你们看完也咧嘴到耳根!
先说为啥要开 debug?三哥打个比方:你们修炼时是不是得先看清经脉?debug 就是给 WordPress 照妖镜,所有报错、警告、提示,统统排排站。不开 debug,就像蒙眼过悬崖;一开,眼前豁然开朗,连哪根草绊脚都看得明明白白!
那咋开?三哥教你们三招,招招带风:
第一招:硬气改文件
打开网站根目录下的 wp-config.php,找到这一行:
/* 好了!请不要再继续编辑。请保存本文件。 * /
在它上面插一句:
php
复制
define( 'WP_DEBUG', true );
瞬间,报错像烟花一样在页面上绽放!怕吓到访客?再加两兄弟:
php
复制
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
报错就乖乖写进 wp-content/debug.log,页面干干净净,三哥我最爱这种“背后捅刀”的优雅!
第二招:温柔装插件
手抖星人别慌,插件来救场!后台搜“WP Debugging”或“Query Monitor”,一键启用,连 FTP 都不用开。三哥亲测,插件界面花花绿绿,跟魂环配色一样炫,看着就开心!
第三招:本地开光
本地环境(比如 XAMPP、MAMP)里,把 php.ini 里的 display_errors 设成 On,重启 Apache,报错直接蹦到浏览器,三哥边喝奶茶边改代码,爽翻!
开完 debug 咋用?三哥总结四字口诀:看、搜、改、删!
看:盯着报错信息,别眨眼;
搜:把报错全句扔进搜索引擎,前人大把经验;
改:按图索骥,删掉多余分号、补上缺失括号;
删:修完后把 WP_DEBUG 设回 false,别让日志长成胖子!
最后,三哥再送彩蛋:用 WP_DEBUG_LOG 时,记得定期清空 debug.log,不然日志文件能肥成十万年魂兽,服务器直接罢工!三哥有次忘了清,日志飙到 1.8 G,吓得我连夜跑脚本,边跑边唱“快乐星球”!
好啦,三哥我要去继续码字啦!祝各位小伙伴天天 0 报错,网站飞快如三哥的脑洞!记得开 debug 时嘴角上扬——因为下一秒,bug 就要被你们秒杀啦!
———————————————————— 【教程:超详细“WordPress 开启 debug”三步走】
目标:让 WordPress 把所有错误、警告、提示都显示或记录下来,便于排查。
一、准备
  1. 备份:wp-config.php 先下载到本地,防止手滑。
  2. 工具:SFTP 客户端(WinSCP、FileZilla)、代码编辑器(VS Code)。
二、核心步骤
步骤 1:连服务器
用 SFTP 登录主机,进入网站根目录(通常包含 wp-adminwp-contentwp-includes)。
步骤 2:编辑 wp-config.php
找到以下结构:
php
复制
/* 好了!请不要再继续编辑。请保存本文件。使用愉快! * /
if ( ! defined( 'ABSPATH' ) ) {
    define( 'ABSPATH', __DIR__ . '/' );
}
在此结构之上插入三行:
php
复制
// 开启调试模式
define( 'WP_DEBUG', true );
// 把错误写入日志,不直接显示给访客
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
保存并上传覆盖。
步骤 3:查看日志
  1. 刷新网站任意页面,触发可能的错误。
  2. 进入 wp-content 目录,找到新生成的 debug.log
  3. 下载后用编辑器打开,每一行都是一条错误,包含时间、路径、错误详情。
  4. 按提示修正主题或插件代码后,再次刷新页面,确认 debug.log 不再新增同类错误。
三、收尾
  1. 修复完成后,回到 wp-config.php,把
php
复制
define( 'WP_DEBUG', true );
改成
php
复制
define( 'WP_DEBUG', false );
  1. 清空 debug.log,或保留一份备份后删除,防止占用空间。
四、常见问题
Q:页面一片空白,打不开?
A:说明出现致命错误,debug.log 中会有 Fatal error 字样,逐条排查即可。
Q:日志文件太大?
A:在本地用 命令清空,或写个定时任务每周清理。
Q:本地开发想更详细?
A:在 php.ini 里再加:
复制
error_reporting = E_ALL
display_errors = On
log_errors = On
重启 Apache/Nginx 生效。
跟着教程走完,debug 就算彻底点亮啦!
MySQL连接就这么简单!本地远程、编程语言连接方法一网打尽
还在为MySQL日期计算头疼?这份加一天操作指南能解决90%问题
MySQL日志到底在哪里?Linux/Windows/macOS全平台查找方法在此
MySQL数据库管理工具全景评测:从Workbench到DBeaver的技术选型指南
MySQL密码忘了怎么办?这份重置指南能救急,Windows/Linux/Mac都适用
你的MySQL为什么经常卡死?可能是锁表在作怪!快速排查方法在此
MySQL单表卡爆怎么办?从策略到实战,一文掌握「分表」救命技巧
清空MySQL数据表千万别用错!DELETE和TRUNCATE这个区别可能导致重大事故
你的MySQL中文排序一团糟?记住这几点,轻松实现准确拼音排序!
别再混淆Hive和MySQL了!读懂它们的天壤之别,才算摸到大数据的门道