
Xdebug 3 中可通过逗号分隔多个 mode 值(如 debug,develop),在启用断点调试的同时保留 var_dump() 的美化输出功能,无需反复切换配置。
xdebug 3 中可通过逗号分隔多个 mode 值(如 `debug,develop`),在启用断点调试的同时保留 `var_dump()` 的美化输出功能,无需反复切换配置。
Xdebug 3 对运行模式进行了重构,将原本分散的开关(如 xdebug.var_display_max_depth、xdebug.overload_var_dump)统一收口到 xdebug.mode 配置项中。该配置支持多模式并行启用,只需用英文逗号分隔即可。
例如,要在保持断点调试(debug)能力的同时,继续享受 var_dump() 的语法高亮、结构折叠与深度限制等增强特性,只需在 php.ini 或 .xdebug.ini 中设置:
xdebug.mode=debug,develop
✅ 启用后效果:
- xdebug_break() 和 IDE 断点正常工作;
- var_dump($data) 自动调用 Xdebug 重载版本,输出带颜色、可展开的结构化数据;
- 不再需要手动切换 xdebug.mode=develop(用于 var_dump)和 xdebug.mode=debug(用于断点)。
⚠️ 注意事项:
- 模式顺序无关紧要,develop,debug 与 debug,develop 效果一致;
- develop 模式隐式启用 overload_var_dump=1、display_errors=1、show_hidden=1 等开发友好设置;
- 若使用 Docker 或 CLI 环境,请确保配置已正确加载(可通过 php -i | grep "xdebug.mode" 验证);
- 不建议在生产环境启用 develop 模式,因其会暴露敏感变量信息并影响性能。
? 小技巧:你还可以组合更多模式,例如 xdebug.mode=debug,develop,trace(启用调试 + var_dump + 追踪日志),但需注意 trace 日志会显著降低执行速度,仅建议临时开启。
总之,合理利用 xdebug.mode 的多值能力,能让开发体验更连贯高效——一次配置,双重便利。

















