Настройка XDebug PHPStorm
В данной статье хотел бы рассказать про настройку расширения Xdebug для PHP в среде разработки PHPStorm. Оказывается до сих пор многие даже опытные программисты, используют для отладки и трассировки скрипта запись в файл.
Забудьте про этот "древний" способ отладки кода. Уже более 15 лет существует расширение Xdebug для движка Zend PHP.
С помощью PHP Xdebug можно по шагам выполнять операции, динамически выполнять выражения в контексте кода, ставить точки остановки и т.п
Настройка PHP Xdebug для PHPStorm будет состоять из следующих шагов.
1. Установка Xdebug для PHP
Для каждой версии PHP существует скомпилированное расширение Xdebug. Скорее всего библиотека уже находится у Вас в папке php/ext или php/extensions. Также можно найти по названию файла xdebug.so или xdebug.dll в зависимости от ОС.
Если библиотека Xdebug не входило в Ваш дистрибутив PHP, то необходимо будем скачать с официального сайта xdebug
2. PHPStorm. Настройка Xdebug
2.1 Настройка php.ini
Необходимо заменить существующий раздел Xdebug для настройки PHPStorm в php.ini, настройками указанными ниже.
Ключевые настройки здесь следующие:
- zend_extension - путь до расширения xdebug
- xdebug.remote_enable - разрешение использования отладчика xdebug
- xdebug.remote_host - IP адрес для подключения xdebug
- xdebug.remote_port - порт для поключения xdebug
- xdebug.remote_autostart - для начала отладки, необходимо отправить специальный GET/POST запрос. Чтобы отладчик всегда был готов к работе, необходимо включить данную настройку.
Настройка Xdebug на стороне php законечна, необходимо перезагрузить php процесс или веб сервер, и проверить что Xdebug подключен.
2.2 Проверка Xdebug
Необходимо в index.php вызвать функцию phpinfo(). У вас должно отобразиться, что расширение Xdebug для PHP подключено.
2.3 Настройка Xdebug на стороне PHPStorm
Необходимо перейти в раздел Languages & Frameworks > PHP > Debug.
В качестве Debug port , выбрать порт 9000, либо любой свободный. Но в этом случае не забудьте поправить порт и php.ini. И выбрать пункт Can accept external connections
Если вам помогла статья, пожалуйста перейдите по одному из рекламных блоков, расположенных на сайте. Таким образом вы поддержите проект. Спасибо