开启 symfony 6.4.48 调试模式需设 app_env=dev 且 app_debug=1,重启服务器后验证 web profiler 图标可见、错误页面显示完整堆栈及变量快照。

开启 Symfony 6.4.48 的调试模式,核心是确保 APP_ENV=dev 且 APP_DEBUG=1,同时验证 Web Profiler 正常加载、错误页面可显示详细堆栈。
确认环境变量配置正确
Symfony 的调试行为由两个关键环境变量控制:
-
APP_ENV:必须设为
dev(开发环境),才能启用调试工具链 -
APP_DEBUG:必须设为
1(布尔真),否则即使在 dev 环境下也会禁用异常详情和 profiler
检查方式:
查看项目根目录下的 .env 文件,确保包含:
APP_DEBUG=1
修改后需重启 Web 服务器(如使用 symfony server:start,请先 symfony server:stop 再重新启动)。
验证 Web Profiler 是否可用
调试模式下,Symfony 会在每个响应页右下角显示 Web Profiler 小图标(灰色小虫子)。点击可查看请求、日志、性能、数据库查询等详细信息。
- 若图标不出现,请确认已安装并启用了
symfony/web-profiler-bundle(6.4 默认已包含) - 运行
composer show symfony/web-profiler-bundle确认版本 ≥ 6.4 - 检查
config/bundles.php中是否启用:
'Symfony\Bundle\WebProfilerBundle\WebProfilerBundle' => ['dev' => true, 'test' => true],
触发并查看调试错误页面
在控制器中临时写一行错误代码,例如:
throw new Exception('测试调试模式');访问对应路由,应看到深红色的 Symfony 错误页面(而不是 Nginx/Apache 默认 500 页面),其中包含完整调用栈、变量快照、已加载配置等。
- 若只看到白屏或简陋错误提示,说明
APP_DEBUG=0或 PHP 自身错误报告被关闭 - 检查
php.ini中display_errors = On和error_reporting = E_ALL(开发环境建议开启) - 注意:生产环境严禁开启
APP_DEBUG=1,会暴露敏感路径与内部逻辑











