我正在使用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,但不是覆盖命令行选项,而是重复它,它仍然不会中断。
只要这种情况继续下去,我就无法有效地工作,所以任何帮助都会受到赞赏!
答案 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