XDebug的。泊坞窗。无法禁用自动启动

时间:2017-10-31 11:31:19

标签: php docker docker-compose phpstorm xdebug

我正在通过Docker命令使用docker-compose。我希望能够在调试和普通模式下运行我的应用程序,但现在无论如何调试器都会启动。

我有这样一个app.docker文件。

FROM php:7-fpm

RUN apt-get update && apt-get install -y libmcrypt-dev mysql-client \
    && docker-php-ext-install mcrypt pdo_mysql

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=1" >> /usr/local/etc/php/conf.d/xdebug.ini \
    && echo "xdebug.remote_autostart=0" >> /usr/local/etc/php/conf.d/xdebug.ini \
    && echo "xdebug.idekey=PHPSTORM" >> /usr/local/etc/php/conf.d/xdebug.ini

WORKDIR /var/www

如果我点击“运行”

enter image description here

无论如何都要启动调试会话

enter image description here

我希望能够运行和调试我的测试(以及应用程序的其余部分)。我想念一些明显的东西吗?

1 个答案:

答案 0 :(得分:1)

这是一个意外的xdebug远程主机行为。

我已经通过停止使用环境变量修复了它。

在我的docker-compose.yml

app:
        ...
        environment:
            ...
            # removed the line below
            XDEBUG_CONFIG: remote_host=docker.for.mac.localhost
       ...

并将其添加到docker文件中。像

这样的东西
RUN yes | pecl install xdebug \
    ... 
    && echo "xdebug.remote_host=docker.for.mac.localhost" >> /usr/local/etc/php/conf.d/xdebug.ini \

有关它的更多信息,请参阅此blog post。它的创建者为我的解决方案提出了一个想法,我们已经更新了这篇文章。