- PVSM.RU - https://www.pvsm.ru -

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

Доброго времени суток, %username%!

Прочитал сегодня статью «Отладка с помощью XDebug и PhpStorm на примере сайта 1С-Битрикс» [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 [2] за приглашение.

Автор: Sivkoff

Источник [3]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/php-2/82498

Ссылки в тексте:

[1] «Отладка с помощью XDebug и PhpStorm на примере сайта 1С-Битрикс»: http://habrahabr.ru/post/209024/

[2] jeston: http://habrahabr.ru/users/jeston/

[3] Источник: http://habrahabr.ru/post/250323/