Не удалось заставить PhpStorm подключиться к Xdebug, запущенному в WSL 2
Мне не удается заставить PhpStorm 2020.2 работать с xdebug со следующей настройкой: WSL2 под управлением Ubuntu 20, с установленными PHP и php-xdebug. Каждый раз, когда я запускаю свои тесты с включенной отладкой, он говорит: "Соединение не установлено".
Вот что показывает журнал Xdebug:
[5877] Log opened at 2020-08-14 17:20:45
[5877] I: Connecting to configured address/port: 172.18.48.1:9006.
[5877] E: Time-out connecting to client (Waited: 200 ms). :-(
[5877] Log closed at 2020-08-14 17:20:46
Это только для CLI, я не пытаюсь подключиться через php-fpm (так что Apache, nginx, ...).
Пока я пробовал:
Изменение порта на другой, кроме 9000 (сканирование портов также показывает, что ни один из них не используется).
Добавление правила брандмауэра для разрешения входящих запросов, как описано в https://github.com/microsoft/WSL/issues/4585 (а также перезапуск пару раз после добавления правила)
New-NetFirewallRule -DisplayName "WSL" -Direction Inbound -InterfaceAlias "vEthernet (WSL)" -Action Allow
Добавление таких опций, как
xdebug.remote_enable=1
в конфигурацию, но это в любом случае выполняется PhpStorm, когда он запускает удаленный экземпляр php (remote_connect_back
тоже не помогло):[wsl://UBUNTU2004]:php -dxdebug.remote_enable=1 -dxdebug.remote_mode=req -dxdebug.remote_port=9006 -dxdebug.remote_host=172.18.48.1 /home/spaceemotion/code/xxxxxx/backend/vendor/phpunit/phpunit/phpunit [rest ommitted]
Любая помощь приветствуется!
1 ответ
Согласно: https://intellij-support.jetbrains.com/hc/en-us/community/posts/360000436444/comments/360000168070
В Панели управления Windows> Брандмауэр Windows> Разрешить программу или функцию через брандмауэр Windows вы можете увидеть список программ, которым разрешено взаимодействовать через частные и общедоступные сети.
Убедитесь, что phpstorm.exe действительно разрешен (для меня параметры частной сети не отмечены).