
Xdebug 3+ 中可通过逗号分隔方式同时启用 debug 和 develop 模式,从而在断点调试时保留被重载的、格式化更友好的 var_dump() 输出,无需反复切换配置。
xdebug 3+ 中可通过逗号分隔方式同时启用 `debug` 和 `develop` 模式,从而在断点调试时保留被重载的、格式化更友好的 `var_dump()` 输出,无需反复切换配置。
Xdebug 3 引入了统一的 xdebug.mode 配置项,取代了旧版本中分散的开关(如 xdebug.overload_var_dump)。该配置支持多模式并行启用,只需用英文逗号分隔即可。要同时享受断点调试(debug)和增强型 var_dump()(由 develop 模式提供),只需将配置设为:
xdebug.mode=debug,develop
✅ 此组合确保:
- 断点、堆栈追踪、远程调试等功能正常工作;
- var_dump() 自动被 Xdebug 重载,输出带颜色、可折叠、含类型与引用信息的结构化结果;
- 无需重启 Web 服务器或 PHP-FPM(若使用 php.ini 或 .htaccess/user.ini 动态加载)。
你也可以通过命令行快速验证当前生效的模式:
php -i | grep "xdebug.mode"
或在脚本中检查:
<?php
var_dump(ini_get('xdebug.mode')); // 输出类似 "debug,develop"
?>⚠️ 注意事项:
- 模式顺序无关紧要(develop,debug 与 debug,develop 效果一致);
- 避免重复指定同一模式(如 debug,debug,develop),虽不报错但无意义;
- 若使用 Docker、Laravel Sail 或其他开发环境,请确保该配置写入正确的 php.ini 文件(通常为 /usr/local/etc/php/conf.d/xdebug.ini);
- develop 模式还额外启用 xdebug.scream(禁用错误抑制符 @)和 xdebug.show_local_vars(在堆栈中显示局部变量),属于安全增强的开发辅助功能,建议在本地环境开启。
综上,一条简洁的配置即可兼顾深度调试与高效变量探查——告别来回切换,提升 PHP 开发流畅度。

















