VPN处于活动状态时,Xdebug remote.host IP已更改

时间:2017-05-22 18:32:49

标签: php docker phpstorm xdebug

我正在使用PhpStorm和MacBook(Sierra 10.12.5)上的docker容器作为我的开发环境。当我没有连接到我的公司VPN时,PhpStorm中的PhpStorm调试连接看起来像这样:

docker://docker.companyurl.com/docker-developer:latest/php -dxdebug.remote_enable=1 -dxdebug.remote_mode=req -dxdebug.remote_port=9000 -dxdebug.remote_host=192.168.10.1 /opt/project/testscript.php

这很好,断点正常,一切都很好。

但是,一旦VPN连接(如果我正在访问内部数据库,我需要这样做),连接字符串将变为:

docker://docker.companyurl.com/docker-developer:latest/php -dxdebug.remote_enable=1 -dxdebug.remote_mode=req -dxdebug.remote_port=9000 -dxdebug.remote_host=10.75.5.4 /opt/project/testscript.php

没有断点被触发,脚本完成而没有启动任何调试会话。

有谁知道为什么IP地址会发生变化?我已经尝试在PhpStorm中的Xdebug选项中手动指定正确的IP,但不是覆盖命令行选项,而是重复它,它仍然不会中断。

只要这种情况继续下去,我就无法有效地工作,所以任何帮助都会受到赞赏!

1 个答案:

答案 0 :(得分:0)

显然问题是phpstorm试图在运行时读取IP地址和其他变量 - 如果你在VPN上它会获取你的VPN分配的IP而不是实际的IP。

目前似乎是一个解决方案是:

1)打开phpstorm首选项/语言和框架/ PHP /调试/高级设置。取消选中"通过命令行"

传递配置选项的复选框

2)打开phpstorm preferences / Languages和Frameworks / PHP,然后单击PHP CLI解释器附近的...。点击“附加/配置选项”项旁边的...,然后添加xdebug.remote_host的新参数,其值为192.168.10.1