Так я недавно установил docker + php + xdebug для http-сервисов. Я провел через него своих сверстников, и это сработало безупречно.
1. Добавьте ENV PHP_IDE_CONFIG в конфигурацию пула docker fpm
Эту среду необходимо добавить в конфигурацию пула php fpm. Это может быть www.conf
(в качестве примера)
env[PHP_IDE_CONFIG] = "serverName=localhost"
2. Добавьте xdebug.ini в ваш docker контейнер
. Вот пример xdebug.ini, который я использовал для настройки:
xdebug.remote_enable = 1
xdebug.remote_autostart = 1
xdebug.remote_connect_back = off
xdebug.remote_host = host.docker.internal
xdebug.remote_port = 9000
xdebug.idekey = PHPSTORM
xdebug.max_nesting_level = 1500
3. [IntelliJ IDEA или PHPStorm] - Настройка PHP серверов
- Открыть
Preferences
- Go до
Languages & Frameworks
-> PHP
-> Servers
- Установить Имя на localhost (Это важно и должно соответствовать
PHP_IDE_CONFIG
значению) - Установить Host на localhost
- Включить
use path mappings
- Сопоставить путь вашего проекта root с рабочим каталогом docker (например,
/var/www/html
), чтобы IntelliJ мог правильно сопоставить пути.
4. [IntelliJ IDEA или PHPStorm] - Настройка IDE ключ
- Открыть
Preferences
- Go до
Languages & Frameworks
-> PHP
-> Debug
-> DGBp proxy
- Установите клавишу IDE на PHPSTORM
5. Добавьте XDEBUG_SESSION = PHPSTORM к вашему URL / повару ie ..
Наконец:
- добавьте
?XDEBUG_SESSION=PHPSTORM
к вашему URL или - добавьте повара ie с именем
XDBEUG_SESSION
и значением PHPSTORM