Настройка: Windows 10; Докер работает с Boot2Docker на Hyper-V; PHPStorm 9Xdebug с PHPStorm и контейнером докера
Веб-сервер на виртуальной машине 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:
I интересно, что показан только один файл, а не весь проект, который намного больше. Если я принимаю соединение я могу отладить самую первую строку, но это не останавливает на моей точке останова и создает запись сервера, который выглядит как:
Что очень странно, что хозяин пуст. Я уже добавил сервер с правильным отображением, но он проигнорировался.
Итак, как заставить Xdebug остановиться на контрольных точках?
* «Что очень странно, что хост пуст». * Это неправильная настройка nginx - вам нужно настроить переменную/параметр servername (в файле конфигурации nginx) – LazyOne
* «Интересно, что отображается только один файл, а не весь проект, который намного больше ». * Сценарий, выполняемый в настоящий момент, -' index.php', и этот диалог запрашивает сопоставления пути (чтобы среда IDE могла знать, какой ЛОКАЛЬНЫЙ файл соответствует этому удалённому). Зачем вам нужно видеть ВСЕ ДРУГИЕ файлы в этом диалоговом окне? Вы хотите еще больше смутить, пытаясь найти нужный файл в огромном списке? – LazyOne
* "и создает запись сервера, которая выглядит следующим образом:" * Я предлагаю перемещать сопоставления 1 уровня выше - корневую папку карты ('C: \ Dev \ www \ projectname') в ваш'/var/wwww/projectname' - - прямо сейчас отображается только веб-сайт root. – LazyOne