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

How can I debug my docker container with docker-machine and PHPStorm

我正在尝试将 Xdebugdockerdocker 一起使用-机器.

这是我的 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 的:

当我尝试调试页面时。这个window出现:

如果我为此单击确定 window,那么 xdebug 似乎可以工作。

如果我查看调试器面板,我可以看到我在我的根页面上。 (app.php)。 但是 PHPStorm 不高亮显示当前行。

我的配置正确吗?

我是不是漏掉了什么?

谢谢。

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

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

创建服务器后,这里是 Docker

您必须创建一个 Run/Debug 配置。使用 配置的服务器 ide 密钥 [=31= 添加新的 PHP 远程调试 ] 然后点击调试按钮 就可以了!

有关信息,Run/Debug 配置: