Настройка Xdebug + OpenServer + PhpStorm

В данной статье я подробно и наглядно расскажу как настроить и использовать связку Xdebug + OpenServer + PhpStorm.
Первым делом нужно включить расширение Xdebug в конфигурации PHP. Для этого нужно в OpenServer идем в Дополнительно > Конфигурация > PHP_8.1. Версия PHP у вас может отличаться.

В файле конфигурации нужно найти и раскомментировать строку:
zend_extension = xdebug
После нужно найти секцию [xdebug] и раскомментировать строки:
xdebug.mode = develop,debug xdebug.client_host = "localhost" xdebug.client_port = 9003
После сохраняем файл и перезапускаем OpenServer.

Теперь переходим к настройке PhpStorm. Комбинацией Ctrl + Alt + S или через File > Settings открываем настройки. Слева выбираем PHP > Debug. В открывшихся настройках снимаем галочки с Force break at first line when no path mapping specified и Force break at first line when a script is outside the project. Порты должны быть 9000 и 9003.

Далее в открытом проекте в правом верхнем углу выбираем Current File > Edit Configurations.

В открывшемся окне нажимаем + и выбираем PHP Remote Debug.

В этом окне нужно выбрать … напротив поля Server.

В очередном открывшемся окне тыкаем + и в полях Name и Host указываем имя нашего хоста и жмем OK.

В предыдущем окне в поле Name для удобства указываем имя нашего хоста. В поле Server выбираем наш созданный хост, а в IDE key пишем PHPSTORM. Жмет OK.

Переходим к настройке браузера. Нужно установить расширение Xdebug helper из магазина расширений Google Chrome.

После того, как установили Xdebug helper кликаем по нему правой клавишей и выбираем Параметры.

В открывшихся настройках нас интересует параметр IDE key. Выбираем PhpStorm, т.к. его же мы указали при настройке ранее.

Теперь на странице хоста кликаем по иконке Xdebug helper и выбираем Debug. В моем случае хост будет plastpoliefir.lan. Жук должен загореться зеленым цветом.

В PhpStorm в правом верхнем углу также кликаем по жуку.

Теперь в проекте можно поставить точку остановки и сделать запрос в браузере.

Если все правильно сделали, то наше приложение остановиться в том месте, где мы установили точку остановки.

Так же можно посмотреть содержимое массивов и объектов.

Также в панели отладки можно посмотреть глобальные переменные, консоль, ответ нашего HTTP сервера и многое другое.

На этом настройка связки Xdebug + OpenServer + PhpStorm закончена. Надеюсь данная вам статья была полезна.