Невозможно заставить Xdebug работать с контейнером Docker на хосте Ubuntu - PullRequest
1 голос
/ 20 мая 2019

Ранее я настроил Xdebug с контейнером Docker и хостом Windows и подумал сделать что-то похожее с моим разделом Ubuntu, но я никак не могу подключиться.

Я проверил активные порты и моя IDE (VS Code) прослушивает 9000. Когда я запускаю свой код, я получаю следующую ошибку в моем журнале XDebug:

[16] W: Creating socket for '172.2.0.3:9000', poll success, but error: Operation now in progress (29).
[16] E: Could not connect to client. :-(

Мой Dockerfile:

FROM php:7.3-apache-stretch

RUN apt-get update
RUN apt-get install zip -y

RUN pecl install xdebug-2.7.0 \
    && docker-php-ext-enable xdebug
RUN touch /var/log/xdebug.log
RUN chmod 777 /var/log/xdebug.log

RUN docker-php-ext-install pdo_mysql

RUN apt-get install git -y
RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" && \
    php -r "if (hash_file('sha384', 'composer-setup.php') === '48e3236262b34d30969dca3c37281b3b4bbe3221bda826ac6a9a62d6444cdb0dcd0615698a5cbe587c3f0fe57a54d8f5') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" && \
    php composer-setup.php && \
    php -r "unlink('composer-setup.php');" && \
    mv composer.phar /usr/local/bin/composer

COPY php.ini $PHP_INI_DIR/
COPY docker-php-ext-xdebug.ini $PHP_INI_DIR/conf.d/

WORKDIR /var/www/html

И мой xdebug.ini:

zend_extension=/usr/local/lib/php/extensions/no-debug-non-zts-20180731/xdebug.so

xdebug.remote_autostart=1
xdebug.remote_enable=1
xdebug.remote_port=9000
; xdebug.remote_connect_back=1
; xdebug.max_nesting_level=1000
xdebug.idekey=VSCODE
xdebug.remote_host=172.2.0.3
xdebug.remote_log=/var/log/xdebug.log

Понятия не имею, что еще я могу проверить или настроить, чтобы заставить работать Xdebug.

...