Xdebug с PHPStorm и контейнером Docker

Настройка: Windows 10; Docker, работающий с Boot2Docker на Hyper-V; PHPStorm 9

Веб-сервер на виртуальной машине - Nginx. Я настроил xdebug.ini для php5-fpm следующим образом:

zend_extension=xdebug.so
xdebug.remote_enable=on
xdebug.remote_port=9000
xdebug.remote_connect_back=On
xdebug.remote_handler=dbgp
xdebug.profiler_enable=0

Если я устанавливаю точку останова и перезагружаю страницу, я получаю входящее соединение от Xdebug в PHPStorm:

Входящее соединение

Интересно, что показан только один файл, а не весь проект, который намного больше. Если я принимаю соединение, я могу отладить самую первую строку, но она не останавливается на моей точке останова и создает запись сервера, которая выглядит следующим образом:

серверЧто очень странно, что хост пуст. Я уже добавил сервер с правильным отображением, но он был проигнорирован.

Так как же заставить Xdebug остановиться на точках останова?

1 ответ

Решение

Что очень странно, что хост пуст.

PhpStorm требует, чтобы это поле было заполнено, поскольку оно использует его для определения того, какую запись сервера (и, следовательно, сопоставления путей) использовать. IDE поддерживает отладку одной и той же базы кода, работающей на разных доменах / удаленных серверах.

В этом конкретном случае servername поле / параметр вашей конфигурации nginx пусто. Вы можете исправить это, указав некоторое значение в конфигурационном файле nginx.

Другие вопросы по тегам