Xdebug Docker跨容器通信设置

时间:2019-06-21 23:23:12

标签: php docker debugging containers xdebug

我在使用多个容器/跨容器Xdebug PhpStorm通信时遇到问题。

我有一个包含10个容器的安装程序,这些容器可以互相通信,但是似乎无法让Xdebug在所有容器中正常工作。

例如: 容器A向容器B发出请求,容器B向容器C发出请求。 如何获得断点以在容器B和C处停止?

此刻,我超时了,没有Xdebug,他们交流也没有问题。

作为旁注,跨容器通信在同一网络中进行,并且Xdebug在每个容器上均独立运行。

这是我所有容器中的Xdebug配置:

xdebug.remote_port=9006
xdebug.remote_autostart=1
xdebug.remote_enable=1  
xdebug.remote_connect_back=0 
xdebug.remote_host=10.254.254.254 
xdebug.idekey=PHPSTORM

1 个答案:

答案 0 :(得分:0)

找到了解决方案,

在进一步研究了相关的github问题后,我发现了这个线程: https://github.com/docksal/docksal/issues/389 和这个stackoverflow问题: Docker / Xdebug Over LAN Server Multiple Developers

这促使我尝试了这种可行的配置:

现在所有容器中的最终配置为:

xdebug.remote_port=9006
xdebug.remote_autostart=1
xdebug.remote_enable=1  
xdebug.remote_connect_back=0 
xdebug.remote_host=10.254.254.254 
xdebug.idekey=PHPSTORM

基本上使用dockers内部网络并使用远程连接回解决了它。