PHP解释器运行在docker容器中,Xdebug配置为
zend_extension=xdebug.so
[xdebug]
xdebug.mode=debug
xdebug.idekey=Docker
xdebug.discover_client_host=on
xdebug.client_host=host.docker.internal
xdebug.client_port=9011
xdebug.cli_color=1
字符串
当我在测试中运行调试会话时,PhpStorm运行以
[docker-compose://[/home/Projects/service/docker-compose.yaml]:php/]:php -dxdebug.mode=debug -dxdebug.client_port=9011 -dxdebug.client_host=172.24.0.83 ...
型
注意-dxdebug.client_host=172.24.0.83
零件...但是host.docker.internal
有另一个IP:
$ docker-compose exec php ping host.docker.internal
PING host.docker.internal (172.17.0.1): 56 data bytes
64 bytes from 172.17.0.1: seq=0 ttl=64 time=0.053 ms
型
当然,它无法启动调试会话。我没有发现这个奇怪的IP 172.24.0.83
在项目中的任何地方出现,也没有在PhpStorm设置中出现。如何才能摆脱PhpStorm中这种明显的非工作状态?
1条答案
按热度按时间uqdfh47h1#
问题解决了。有一些步骤可以在像我这样的情况下修复xdebug。
正如@LazyOne提到的,您可以通过取消选中
Pass required configuration options through command line (still need to enable debug extension manually)
复选框来禁用Settings/Preferences | PHP | Debug
中Settings
部分的Xdebug CLI配置选项的自动传递。正如@Derick提到的,最好使用机器的实际IP地址(如192.168.1.200)作为
xdebug.client_host
。这也适用于rootless docker。