Docker набор инструментов Ma c OS Xdebug - PullRequest
1 голос
/ 30 марта 2020

Я использую Docker Toolbox (docker -машина) в Ma c OS 10.13 и пытаюсь использовать Xdebug с PHP 7.1. Сначала я настроил интерпретатор через контейнер Docker на виртуальной машине:

Interpreter configuration

Затем я добавляю Сервер с сопоставлениями (8088 выставлен порт docker -машина):

Docker Server

И наконец я создаю конфигурацию отладки:

Debug Configuration

Затем я нажимаю «Начать прослушивание отладочных соединений» и пытаюсь перезагрузить страницу в целевом проекте. И все, что я вижу, это бесконечный загрузчик. Если я отключаю загрузку страницы прослушивания через 100 мс.

Как я могу использовать Xdebug с docker -машина?

Вот мой конфиг Xdebug из Dockerfile:

RUN echo "xdebug.remote_enable=on" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
RUN echo "xdebug.remote_autostart=true" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
RUN echo "xdebug.remote_handler=dbgp" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
RUN echo "xdebug.remote_mode=req" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
RUN echo "xdebug.remote_port=9000" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
RUN echo "xdebug.remote_log=/var/log/xdebug_remote.log" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
RUN echo "xdebug.idekey=PHP_STORM" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
RUN echo "xdebug.remote_connect_back=1" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini

1 Ответ

2 голосов
/ 30 марта 2020

Для "Docker для Ма c" вам необходимо использовать специальный адрес для подключения к хосту изнутри контейнера xdebug.remote_host=host.docker.internal.

Я ХОЧУ ПОДКЛЮЧИТЬСЯ ОТ КОНТЕЙНЕРА К СЕРВИСУ НА ХОСТЕ

У хоста есть изменяющийся IP-адрес (или нет, если у вас нет доступа к сети). Начиная с 18.03, мы рекомендуем подключаться к специальному DNS-имени хоста. docker .internal, который разрешает внутренний IP-адрес, используемый хостом. Это для целей разработки и не будет работать в производственной среде за пределами Docker Desktop для Ma c.

https://docs.docker.com/docker-for-mac/networking/

Не конечно, это то же самое для Docker Toolbox (docker -машина), но стоит попробовать.

...