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

我在MacBook(Sierra 10.12.5)上使用PhpStorm作为我的开发环境。 当我没有连接到我公司的VPN时,PhpStorm中的PhpStormdebugging连接如下所示:

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连接(如果我访问内部数据库,我需要做的),连接string变为:

 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 

没有断点被触发,并且脚本在没有任何debugging会话开始的情况下完成。

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

只要这样下去,我无法高效地工作,所以任何帮助都是值得赞赏的!

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

那么目前看来解决scheme是:

1)打开phpstorm首选项/语言和框架/ PHP /debugging/高级设置。 取消勾选“通过命令行传递configuration选项”

2)打开phpstorm首选项/语言和框架/ PHP,然后点击...附近的PHP CLI解释器。 单击附加/configuration选项项目旁边的... ,为xdebug.remote_host添加一个新的参数,其值为192.168.10.1