@teimur

Настройка xdebag docker в phpstorm?

Ни как не работает xdebag с phpstorm из докера

dockerfile:
FROM php:8.0-apache
WORKDIR /var/www/html
RUN a2enmod rewrite
ENV APACHE_DOCUMENT_ROOT /var/www/html/web
RUN sed -ri -e 's!/var/www/html!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/sites-available/*.conf
RUN sed -ri -e 's!/var/www/!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/apache2.conf /etc/apache2/conf-available/*.conf
RUN pecl install xdebug && docker-php-ext-enable xdebug 
ADD ./xdebug.ini /usr/local/etc/php/conf.d
EXPOSE 80
EXPOSE 9003


xdebug.ini
[xdebug]
zend_extension=/usr/local/lib/php/extensions/no-debug-non-zts-20200930/xdebug.so
xdebug.mode=develop,coverage,debug,profile
xdebug.idekey=docker
xdebug.start_with_request=yes
xdebug.log=/dev/stdout
xdebug.log_level=0
xdebug.client_port=9003
xdebug.remote_port=9003
xdebug.client_host=127.0.0.1


билдим
docker build -t yii2 .

Запускаем:
docker run -dit -p 80:80 -p 9003:9003 --mount type=bind,src=E:/DEV/fixcom/yii2/public-html,dst=/var/www/html --name yii2_cont yii2


xdebug_info();
YFzqZG.png
K0Efrv.png

Проверяем netstat
XGHFgS.png

phpstorm:
xyI0Gr.png
ik8J20.png
b5Dk7D.png
  • Вопрос задан
  • 155 просмотров
Решения вопроса 1
karabanov
@karabanov Куратор тега Docker
Системный администратор
xdebug.client_host=127.0.0.1

У каждого контейнера свой отдельный loopback интерфейс и он никак не связан с хостовой системой.
Надо использовать IP шлюза контейнера - его можно узнать с помощью docker inspect <container_id> или задать явно в момент запуска контейнера.

PS
Ещё можно снять изоляцию с сети, но так делать не надо.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы