Наконец-то настроил Xdebug. Это такая крутая штука скажу я вам. Показывает всё: что пришло, что ушло, в каком виде и тд. Очень круто и удобно. Но Xdebug надо настроить чтобы все работало.
Так что, эта статейка будет справочником чтобы не забыть алгоритм настройки.
Исходные данные
Я работаю на Windows 10 c подсистемой Ubuntu 18, для локального cервера использую Laragon (на мой взгляд, лучшего ничего нет). В итоге исходные данные такие получаются:
- ОП: Windows 10
- IDE: PhpStorm 2022.1
- Local server: Laragon 5.0.0
- PHP: 7.4.33
Важный момент! Версия php должна быть не ниже 7.4.20, иначе xdebug не будет работать. Актуальная версия PHP на момент написания статьи: 7.4.33
к содержаниюШаг первый. Обновление версии PHP для Laragon
1. Скачиваем нужную версию PHP c сайта
2. Полученный архив вида php-7.4.33-Win32-vc15-x64.zip
копируем в папку \bin\php\
вашей установки Laragon. И там распаковываем в папку с тем же именем, например php-7.4.33-Win32-vc15-x64
3. Если Laragon запущен, то останавливаем его, и меняем версию на нужную. И снова запускаем.
Версия PHP обновлена до нужной. Теперь можно заняться xdebug
к содержаниюШаг второй. Установка Xdebug
- Для Php 7.4.33 нужную версию xdebug просто так не найдешь. Ну почему, у них так на сайте сделано, что только под php 8.0 можно скачать сразу, все остальное только через танцы с бубнами.
- Вариант раз: воспользоваться мастером скачивания
- Вариант два: найти и скачать нужную версию в истории релизов
- Вариант три: сразу скачать нужный файл
2) После скачивания, получим файл вида php_xdebug-3.1.6-7.4-vc15-x86_64.dll
. Копируем его в папку с нужной версией PHP по пути \laragon\bin\php\php-7.4.33-Win32-vc15-x64\ext
И переименовываем файл php_xdebug-3.1.6-7.4-vc15-x86_64.dll
в php_xdebug.dll
для краткости.
3) Запускаем xdebug в Laragon
Заодно можете включить opcache, для более быстрой работы админки на локалке.
4) Теперь надо немного настроить файл php.ini
. По дефолту в нем нет настроек раздела xdebug, так что открываем его на редактирование
И в свободном месте добавляем настройки
[XDebug]
xdebug.mode=debug
xdebug.client_port = 9090
Обратите внимание! Использую не штатный порт 9003, а 9090. На штатному порту у меня не завелось, но вы можете и штатный попробовать.
Сохраняем изменения в php.ini
и перезагружаем Laragon. На этом установка xbebug завершена.
Шаг третий. Настройка PhpStorm для работы с Xdebug
Осталось настроить PhpStorm.
Расширение Xdebug helper
Первое что нужно сделать — установить расширение для браузера Xdebug helper
Важно! После установки заходим в параметры и устанавливаем IDE key в позицию PhpStorm. Незабываем нажать кнопку Save, после изменения.
Можно и другие расширения использовать. Какие еще есть, смотрим тут.
к содержаниюОсновные настройки
Теперь открываем нужный проект в PhpStorm и идем в основные настройки File → Settings → PHP
Ставим тот порт, который указали в настройках php.ini
. В нашем случае — 9090
. И снимаем галки с пунктов:
- Force break at first line when no path mapping specified
- Force break at first line when a script is outside the project
В основном разделе PHP укажите вашу версию в CLI Interpreters
к содержаниюНастройка конфигурации дебага
Переходим Run → Edit Configurations
Создаем новую конфигурацию. Выбираем PHP Remote Debug
Теперь настоим ее.
- Name может быть любым, но я предпочитаю по названию проекта называть.
- Ставим чек Filter debug connection by IDE key
- Server: указываем хост нашего проекта, в моем случае
magazin-skulptur.loc
, порт 8080 так по дефолту делает Laragon - IDE key: указываем
PHPSTORM
, то есть тот же, что указывали в Xdebug helper
Теперь надо проверить все настройки
Нажимаем Validate. Если все отчекалось, значит настройка прошла успешно
к содержаниюИспользование Xdebug
Все настроили, осталось использовать
На нужной странице сайта, включаем Xdebug helper
Включаем прослушивание Run → Start Listening for PHP Debug Connection
или если пользуетесь отдельной панелью, то справа сверху трубку нажимаем
Ставим брекпоинты на нужной строке (справа от номера строки) и запускаем дебаг нажатием на жучка. Откроется панель и появиться сообщение что ожидается коннект
После обновления страницы, данные придут в панель. Переходом по стрелке, можно смотреть какие данные приходят и что получается.
Внимание! Включенный Xdebug серьезно нагружает процессор, так что имейте ввиду, что если комп начал тормозить, то имеет смысл отключить Xdebug.
к содержаниюЗаключение
Вот и все, обновили версию PHP, установили и настроили Xdebug, теперь ни одна трабла от нас не скроется!
Успехов и берегите себя!