Xdebug正在使用我的容器。我可以使用调试器来逐步检查代码。
我在xdebug.ini中有以下设置:
xdebug.client_host=host.docker.internal
xdebug.discover_client_host=0
xdebug.mode=develop,debug
xdebug.start_with_request=trigger
xdebug.idekey=PHPSTORM
xdebug.output_dir=/app
当我想触发Xdebug时,当我到达一个端点,我只需添加:
?XDEBUG_SESSION_START=PHPSTORM
export XDEBUG_TRIGGER=1
,然后调用a脚本。
现在我的问题是如何在不改变xdebug.ini中的任何东西的情况下触发分析器。只要有一个一次性的会话,在这个会话中,分析器会生成一个cachegrind文件。我试过将XDEBUG_TRIGGER=profile
添加到查询字符串,但没有结果。
注意,我明白我可以去ini将profile
添加到xdebug.mode=develop,debug,profile
(将配置文件添加到列表中),重新启动容器,然后将产生cachegrind。
我真正想问的是,我如何通过一些环境变量来改变任何设置或重新启动服务器。
从xdebug配置:
您还可以通过设置XDEBUG_MODE环境来设置Xdebug的模式变量在命令行;这将优先于xdebug。模式设置,但不会改变xdebug.mode的值设置。