无法使用在Docker中运行的PhpStorm来debuggingPHP应用程序?

我的PHP应用程序在docker中运行。 我的IDE是PhpStorm。 我这样configuration:

PhpStorm配置

我的Dockerconfiguration包含:

RUN yes | pecl install xdebug \ && echo "zend_extension=$(find /usr/local/lib/php/extensions/ -name xdebug.so)" > /usr/local/etc/php/conf.d/xdebug.ini \ && echo "xdebug.remote_enable=on" >> /usr/local/etc/php/conf.d/xdebug.ini \ && echo "xdebug.remote_autostart=off" >> /usr/local/etc/php/conf.d/xdebug.ini 

和docker-compose.yml包含像:

 environment: -XDEBUG_CONFIG: "remote_host=192.168.0.111 idekey=phpstorm" -PHP_XDEBUG_ENABLED: 1 # Set 1 to enable. 

我运行我的docker工作

 docker-compose up. 

当我访问一个页面时,不会触及我的断点。

我在这里想念什么?

在PhpStorm中debugging设置:

在这里输入图像说明

真的很难得到这个工作。 简单的答案是Docker不用于debugging。 使用stream浪汉。

Docker旨在运行称为容器的小型应用程序。 你想像数据库一样运行尽可能小的进程,然后在另一个容器中运行你的http服务器。 正因为如此,标准容器都是裸露的骨头。 他们不是为了解决复杂的问题。 Docker用于生产。

另一方面,stream浪者非常适合开发者。 它有很多细节支持开发人员,使生活更轻松。 它可以在Mac,Windows和Linux上运行,并且它们都以相同的方式运行,所以您可以通过共享Vagrantfile轻松地在团队设置中使用此Vagrantfile ,即可“克隆”。 它甚至可以挂载本地文件夹,从而为您的http服务器提供实时更新。 你也可以一次又一次地摧毁stream浪汉形象,这真的很好。 一个好的提示是将所有设置步骤logging在Vagrantfile 。 当你有一个好的stream浪汉设置,摧毁stream浪汉形象,重新创build它,并再也不会碰到里面的东西。 当你把一个项目搁置了6个月,而且不记得6个月前你做了什么,这也是非常有帮助的。