问题描述
我的开发设置在 Symfony 项目的 docker 容器中包含 PHP 8 和 Xdebug 3。
目前我使用 xdebug.start_with_request=yes
,但我不喜欢它对性能的影响。
如何根据 Symfony 控制台命令的需要启动 Xdebug 会话?
解决方法
将 Xdebug 模式设置为 off
(在您的设置中设置xdebug.mode = off;
),仅为您正在执行的脚本设置环境变量 XDEBUG_MODE = debug
:
XDEBUG_MODE = debug bin/console run:my:command
现在 Xdebug 只会在您执行 bin/console run:my:command
时启用。
您提到您是在 docker 容器内执行脚本,但这不会有太大变化。您可以在 docker exec
调用中使用 --env
参数传递环境变量。