如何使用 docker-machine 和 PHPStorm 调试我的 docker 容器
How can I debug my docker container with docker-machine and PHPStorm
我正在尝试将 Xdebug 与 docker 和 docker 一起使用-机器.
这是我的 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 配置:
我正在尝试将 Xdebug 与 docker 和 docker 一起使用-机器.
这是我的 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 配置: