Xdebug в связке с PhpStorm + XDebug + Docker
Ожидается, что у вас уже есть проект с настроенным докером.
Идём в:
Settings | PHP | CLI Interpreter | 3 точки справа от негоФайл | Настройки | PHP | 3 точки справа от него
Добавляем такую конфигурацию:
У меня не проходит валидация установленного пхп, но это ни на что не влияет.
Nameможет быть любымServerвыбираем тот, который создали шагом ранееConfiguration files: путь доdocker-compose.ymlService: контейнер сPHPОстальное на ваш вкус, но в графе
Lifecycleлучше оставитьconnect to existing container
Теперь, в графе CLI интепретатор вы увидите выбранным только что созданный конфиг:
Идём в:
Run | Edit configurationsВыполнить | Редактировать конфигурацию
Создаём новую конфигурацию на основе PHP Remote Debug:
Здесь Server это как раз Name из пункта #3.
В этом окне Name может быть любым, надо его запомнить, он, опять же, пригодятся чуть позже.
IDE key может быть любым, но Если у вас XDebug 3, то обязательно запоминаем значение.
В контейнере с PHP для правильной интеграции с XDebug мы должны иметь доступ к локальной машине, то есть хосту:
extra_hosts:
- "host.docker.internal:host-gateway"
Здесь важна только директива extra_hosts, она обязательна.
XDebug 3
; функции Xdebug
xdebug.mode=debug
; IP-адрес или имя хоста, к которому Xdebug подключится
xdebug.client_host=host.docker.internal
; порт, к которому Xdebug подключиться
xdebug.client_port=9001
; запускает трассировку функции
xdebug.start_with_request=yes
; название IDE
xdebug.idekey=PHPSTORM
; путь до файла где будут сохранятся логи
xdebug.log="/var/www/html/official/logs/xdebug/xdebug_access.log"
; уровень вывода логов, 10 максимальный
xdebug.log_level=0
; автоматическое определять IP-адрес клиента
xdebug.discover_client_host=true
xdebug.idekeyуказываемIDE keyиз шага #5xdebug.client_portпорт из пункта #4xdebug.client_hostуказываемtrue





