开启调试模式需在项目根目录 index.php 顶部定义 APP_DEBUG 为 true,清除缓存并确保 PHP 错误输出;.env 或 config.php 配置仅为辅助,不可替代此硬编码步骤。

ThinkPHP5.0.24开启调试模式,核心就一条:在入口文件顶部明确定义 APP_DEBUG 常量为布尔值 true,并清除缓存、确保 PHP 错误能输出。其他配置(如 .env、config.php)都是辅助或后备,不能替代这一步。
1. 修改入口文件,硬编码开启
TP5.0.24 的入口文件是项目根目录下的 index.php(不是 public/index.php)。打开它,确保:
<?php后第一行就是define('APP_DEBUG', true);- 前面不能有空行、BOM、注释或任何输出
- 不能写成
'true'、1或app_debug(大小写敏感) - 必须在
require __DIR__ . '/thinkphp/start.php';之前
2. 清空 runtime 目录
TP5 缓存机制强依赖 runtime/ 目录。只要里面残留旧缓存,新配置就可能不生效:
- 手动删除整个
runtime/文件夹(含所有子目录和隐藏文件,比如~runtime.php) - 确保该目录后续可写(框架会自动重建)
3. 确保 PHP 错误能显示出来
即使 APP_DEBUG = true,若 PHP 自身屏蔽错误,页面仍会白屏或 500:
立即学习“PHP免费学习笔记(深入)”;
- 在
index.php中define('APP_DEBUG', true);后立刻加两行:ini_set('display_errors', '1');<br>error_reporting(E_ALL); - 检查 php.ini 中
display_errors = On和error_reporting = E_ALL - Nginx + PHP-FPM 环境下,确认
fastcgi_intercept_errors off;(否则 Nginx 会吞掉错误页)
4. 可选:启用 Trace 面板
右下角灰色 Trace 图标需要额外开关(仅 APP_DEBUG 不够):
- 在
.env文件中添加:APP_DEBUG=true<br>APP_TRACE=true
- 或在入口文件中定义后,再加一行:
define('APP_TRACE', true); - 同样要清空
runtime/并刷新



















