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

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

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

В данной статье я подробно и наглядно расскажу как настроить и использовать связку Xdebug + OpenServer + PhpStorm.

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

Конфигурация PHP
Конфигурация 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.

Current File > Edit Configurations
Current File > Edit Configurations

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

Добавляем конфигурацию для отладки
Добавляем конфигурацию для отладки

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

Выбираем многоточие напротив поля Server
Выбираем многоточие напротив поля Server

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

Добавляем хост для отладки
Добавляем хост для отладки

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

Настройка отладки PHP
Настройка отладки PHP

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

Xdebug helper в магазине Google Chrome
Xdebug helper в магазине Google Chrome

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

Переходим в параметры Xdebug helper
Переходим в параметры Xdebug helper

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

Параметры Xdebug helper
Параметры Xdebug helper

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

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

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

Точка остановки в PhpStorm
Точка остановки в PhpStorm

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

Приложение остановилось там, где мы и хотели.
Приложение остановилось там, где мы и хотели.

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

Содержимое объекта в PhpStorm.
Содержимое объекта в PhpStorm.

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

Панель отладки
Панель отладки

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

3 thoughts on “Настройка Xdebug + OpenServer + PhpStorm

  1. Если встретились с проблемой, когда Xdebug не фиксирует соединение: «Waiting for incoming connection with ide key ‘PHPSTORM’».

    1. Найдите настройку «xdebug.idekey» в php.ini OpenServer, расскоментируйте (убрать ; в начале строки).
    2. Установите значение для этой опции — «PHPSTORM».
    3. Перезагрузите OpenServer.

    P.S. Если такой настройки у Вас нет, то просто вставьте:
    xdebug.idekey = «PHPSTORM»

    Также столкнулся с проблемой, что в Firefox Xdebug Helper жук даже зелёным не загорается. Увы, пришлось переходить на Google Chrome — там с этим всё ОК.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *