PHPStorm, Docker и отладка

1

Я пытаюсь отладить php-код с помощью PHPStorm. Я нахожусь на Mac с докером. Я настроил xdebug на докере, используя:

zend_extension="/usr/local/lib/php/extensions/no-debug-non-zts-20151012/xdebug.so"
xdebug.remote_enable = 1
xdebug.remote_connect_back=1
xdebug.idekey = "PHPSTORM"

Затем я открываю прослушивание в PHPStorm, устанавливаю cookie в браузере и затем загружаю страницу, устанавливая точку разрыва в соответствующей точке. Бывает, что PHPStorm обнаруживает входящее соединение и просит принять соединение. Я нажимаю на accept, отладка заполняется переменными, и через 1 секунду соединение прекращается, и сеанс отладки заканчивается.

Что я делаю не так?

  • 0
    Вы включили порт x debug в свой контейнер? (с параметром -p) По умолчанию x debug использует порт 9000
  • 0
    порт 9000 открывается с помощью PHPStorm на хосте, соединение идет от xdebug (в контейнере) к phpstorm (на машине). По этой причине я не думаю, что мне нужно выставлять порт 9000. Вам так не кажется?
Показать ещё 6 комментариев
Теги:
docker
macos
phpstorm
debugging

1 ответ

0

Мне не удалось заставить xdebug.remote_connect_back=1 работать для меня.

Вместо этого вам необходимо указать IP-адрес хоста-докера. Начиная с версии docker 18.03, вы можете ссылаться на запись host.docker.internal DNS изнутри контейнеров host.docker.internal.

Вы должны попробовать следующее:

  1. Удалите xdebug.remote_connect_back=1. Значение по умолчанию равно 0.
  2. Добавить xdebug.remote_host=host.docker.internal

Остальные ваши шаги звучат правильно.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню