Xdebug соединение не работает с PhpStorm и Docker - PullRequest
1 голос
/ 23 октября 2019

У меня проблема с отладкой PHP с помощью PhpStorm. У меня есть контейнер, и он работает под управлением Ubuntu 18.04.2 LTS, а мой хост - macOS 10.14.5. Я добавил конфигурацию в PhpStorm, но точка останова не достигнута.

Итак, это моя конфигурация xdebug.ini:

zend_extension=xdebug.so
xdebug.max_nesting_level = 250
xdebug.remote_port = 9000
xdebug.idekey = "XDEBUG_ECLIPSE"
xdebug.remote_host = "192.168.1.144"
xdebug.var_display_max_children = -1
xdebug.var_display_max_data = -1
xdebug.var_display_max_depth = -1

#  Enable the debugging on request
xdebug.remote_enable = on
xdebug.remote_autostart = off

# enable logging
xdebug.remote_log=/tmp/xdebug.log

Когда я запускаю php -m -v, я вижу под Zend Modulesчто Xdebug включен / установлен. Моя версия php - PHP 7.1.32.

192.168.1.144 - это IP моего хост-компьютера. Я также проверил, что PhpStorm настроен на прослушивание через порт 9000

Xdebug settings

Когда я создал новую конфигурацию, я установил IDE key(session id) как XDEBUG_ECLIPSE, также, когда я определил сервер в конфигурации, хост является правильным (dummy.test), порт настроен на 80, а отладчик на Xdebug.

Я также выполнил команду tail -f /tmp/xdebug.log, и когда я обновил страницу, не было никакой новой записи в файле журнала.

Есть идеи, что мне не хватает? Я установил точку останова для одной индексной функции контроллера xy и не ударил, я также включил разрыв в первой строке в скрипте PHP.

phpinfo

1 Ответ

1 голос
/ 23 октября 2019

так, с помощью владельца темы было установлено, что для Mac host.docker.internal установлено doc

в качестве хоста решения для взлома ip был добавлен в /etc/hosts внутри докераконтейнер: host-ip host.docker.internal

вероятно, должно быть лучшее решение:)

...