Перестал работать Xdebug на docker с php7.3 + apache
Понедельник (08.12.20) после выходных начался с неработающего xDebug на phpStorm под docker. Поскольку уже есть известные проблемы работы отладчика на phpStorm прошлых версий и он тоже недавно обновился, подозрения пали на него, однако в ходе длительных поисков разгадки оказалось, что последний релиз xDebug 3.0.1 не работает как положено либо вовсе.
Надеюсь данный пост кому-то сэкономит время на поисках решения проблемы :)
Мне помогла установка старой версии 2.9.8
RUN yes | pecl install xdebug-2.9.8 \
&& docker-php-ext-enable xdebug \
&& echo xdebug.remote_enable=1 >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \
&& echo xdebug.remote_port=9000 >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \
&& echo xdebug.remote_autostart=1 >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \
&& echo xdebug.remote_handler=dbgp >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \
&& echo xdebug.remote_connect_back=0 >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \
&& echo xdebug.idekey=PHPSTORM >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \
&& echo xdebug.remote_host=172.17.0.1 >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
Буду признателен альтернативным решениям :)
Ответы (2 шт):
Аналогичная проблема возникла с 04.12.20 после обновления шторма на 2020.3. Перепробовал тоже кучу всяких вариантов, но ничего не работало. Хотел было пробовать xdebug 3, но наткнулся на этот пост. Проверил - работает, не знаю как в будущем но на данный момент 2.9.8 версия работает отлично.
Настройка для xDebug 3 Docker + PhpStorm образ ubuntu. В PhpStorm нужно прослушивать 9003 порт ARG PHP_VERSION например 7.4
RUN apt update && apt install -y php${PHP_VERSION}-xdebug \
&& echo xdebug.mode=debug >> /etc/php/${PHP_VERSION}/cli/conf.d/20-xdebug.ini \
&& echo xdebug.client_port=9003 >> /etc/php/${PHP_VERSION}/cli/conf.d/20-xdebug.ini \
&& echo xdebug.client_host=host.docker.internal >> /etc/php/${PHP_VERSION}/cli/conf.d/20-xdebug.ini \
&& echo xdebug.start_with_request=yes >> /etc/php/${PHP_VERSION}/cli/conf.d/20-xdebug.ini \
&& echo xdebug.remote_handler=dbgp >> /etc/php/${PHP_VERSION}/cli/conf.d/20-xdebug.ini \
&& echo xdebug.discover_client_host=false >> /etc/php/${PHP_VERSION}/cli/conf.d/20-xdebug.ini \
&& echo xdebug.idekey=PHPSTORM >> /etc/php/${PHP_VERSION}/cli/conf.d/20-xdebug.ini
Подробнее появилась документация xDebug2 to 3