如何使用docker-machine和PHPStorm调试我的docker容器

时间:2015-09-17 19:20:27

标签: docker phpstorm xdebug boot2docker docker-machine

我正在尝试将 Xdebug docker docker-machine 一起使用。

这是我的 xdebug.ini 配置文件:

zend_extension = /usr/local/lib/php/extensions/no-debug-non-zts-20131226/xdebug.so
xdebug.remote_enable=1
xdebug.remote_autostart=0
xdebug.remote_connect_back=1
xdebug.remote_port=9000
xdebug.remote_log=/tmp/php5-xdebug.log

这是我的docker-compose.yml文件:

data:
  image: busybox
  volumes:
    - ./:/srv

web:
  build: docker/nginx
  volumes_from: [data]
  links:
    - fpm
  ports:
    - "80:80"

fpm:
  build: docker/php-fpm
  volumes_from: [data]
  ports:
    - "9000:9000"

我已经像这样配置了PHPStorm:

phpstorm config 1 phpstorm config 2

当我尝试调试页面时。出现此窗口:

phpstorm issue

如果我在此窗口中单击“确定”,则xdebug似乎正常工作。

如果我查看Debugger pan,我可以看到我在我的根页面上。 (app.php)。 但PHPStorm并没有强调当前的路线。

current line not highlight

我的配置是否正确?

我错过了什么吗?

感谢。

2 个答案:

答案 0 :(得分:3)

我终于设法解决了这个问题。

创建服务器之后, Docker

enter image description here

您必须创建运行/调试配置。使用已配置的服务器 ide键添加新的 PHP远程调试,然后单击调试按钮enter image description here,然后点击它。工作!

enter image description here

有关信息,运行/调试配置: enter image description here

答案 1 :(得分:0)

Benjamin,IP地址192.168.99.100是属于您的Mac本身还是Docker Machine / boot2docker VM?由于PHPStorm在Mac上运行,xdebug需要在端口9000上连接它,因此php.ini需要有你的Mac IP地址,而不是VM IP。这让我有点兴奋,希望这对你也有帮助。