ThinkPHP6.0调试模式由.env文件中APP_DEBUG=true控制,开启后显示详细错误堆栈、启用Trace面板、模板热更新、自动记录日志及SQL详情;上线前须设为false;若关闭调试但仍需错误提示,可设config/app.php中show_error_msg=true。

ThinkPHP6.0 的应用调试开关主要通过环境变量 APP_DEBUG 控制,这是最核心、最优先生效的配置方式。
在 .env 文件中开启调试模式
项目根目录下存在 .example.env 文件,直接重命名为 .env,然后确保其中包含:
-
APP_DEBUG=true(必须为小写 true,区分大小写) - 其他如数据库、时区等配置可按需补充,但调试功能仅依赖 APP_DEBUG
修改后无需重启服务,框架会在每次请求时自动读取该值。开发阶段务必保持为 true;上线前必须改为 false。
调试模式下的关键表现
开启后你会立即获得以下能力:
立即学习“PHP免费学习笔记(深入)”;
- 所有错误、警告、Notice 都以详细堆栈形式显示在页面上
- 自动启用 Trace 调试面板(右下角 ThinkPHP 图标,点击展开)
- 模板文件修改后实时生效,无需清缓存
- 日志自动记录到
runtime/log/目录,按日期分文件 - SQL 查询语句、执行时间、内存占用等信息可在 Trace → SQL 或 基本 标签页查看
部署模式下仍想看错误信息?
若因安全策略关闭了 APP_DEBUG(即设为 false),但又希望保留错误提示(比如内部测试环境),可额外设置:
- 打开
config/app.php - 找到
'show_error_msg' => false这一项,改为true
注意:该配置仅在 APP_DEBUG=false 时起作用,且不显示环境变量、堆栈路径等敏感细节,比调试模式更收敛。
验证是否生效的小技巧
临时在控制器里写一行触发 Notice 的代码,例如:
dump($undefined_variable);
如果看到完整报错信息,说明调试已开启;如果只显示空白或“页面有错误”,说明未生效,需检查 .env 文件位置、格式(不能有 BOM、不能用中文引号)、以及是否被服务器缓存(可删 runtime/cache/ 再试)。



















