当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