Pull to refresh

Отладка с помощью XDebug и PhpStorm (дополнение)

Reading time 2 min
Views 222K
Доброго времени суток, %username%!

Прочитал сегодня статью «Отладка с помощью XDebug и PhpStorm на примере сайта 1С-Битрикс». В ней автор использует «зеленого жука» для запуска отладки. В комментариях предложены еще несколько методов запуска отладки, такие как специальные закладки, различные плагины и т.д. На мой взгляд, все это неудобно, к тому же есть наиболее простой и удобный вариант. Я мог бы предложить его в комментариях к статье, но, увы, в read-only это невозможно. Посему вынужден писать отдельную статью.

У xdebug есть возможность автостарта, без всяких премудростей. Достаточно просто расставить breakpoint'ы и открыть Ваше приложение в браузере, xdebug будет подхватывать старт сам.

Итак, моя конфигурация:
  • Веб-сервер — OpenServer 4.8.8
  • PHP 5.4.17
  • XDebug 2.2.3
  • IDE PhpStorm 7.1.


1. Настройка XDebug

В php.ini подключаем расширение и устанавливаем параметры:
zend_extension="%путь до php%/ext/php_xdebug.dll"
;эта опция как раз и отвечает за автостарт
xdebug.remote_autostart=on
xdebug.remote_enable=on
xdebug.remote_handler="dbgp"
xdebug.remote_host="localhost"
;порт может быть и 9000, но у openserver он зарезервирован под php
xdebug.remote_port=9001
xdebug.remote_mode=req
;ключ IDE (может быть любым) понадобится позже
xdebug.idekey="PHPSTORM"

2. Настройка PhpStorm

Настраиваем интерпретатор, если у вас это еще не сделано.

image

image

Далее добавляете сервер, если вы сервер локальный, то пишете в поле Host — localhost, если удаленный то адрес удаленного хоста. Имя хоста здесь и в php.ini должно совпадать.

image

Настраиваем XDebug. Порт берем из php.ini (xdebug.remote_port). Если вам не нужно чтобы XDebug останавливался на первой строчке приложения, отключаем два нижних чекбокса.

image

Здесь значения так же берем из php.ini: IDE key -> xdebug.idekey, Host -> xdebug.remote_host, Port -> xdebug.remote_port.

image

На этом настройка завершена, можно пользоваться.

Использование

Для начала работы расставляете breakpoint'ы, включаете прослушку порта XDebug и открываете ваше приложение.

image

image

Breakpoint'ы будут ловиться автоматически, без необходимости тыкать в «зеленого жука». Надеюсь информация кому-нибудь пригодится.

На этом все, спасибо за внимание.

P.S. Статья уже около года висела в песочнице, но до сих пор актуальна, поэтому публикую ее. Спасибо jeston за приглашение.
Tags:
Hubs:
+22
Comments 15
Comments Comments 15

Articles