morontt.info

IDE → PhpStorm и Xdebug - установка и настройка

Думаю, нет нужды объяснять про такой важный инструмент PHP-разработчика, как Xdebug. Знал о нём и я. Только вот руки всё никак не доходили, что бы просто взять и попробовать. Длилось это больше года. А в один прекрасный момент таки испробовал и очень доволен.

Для начала необходимо установить сам Xdebug. На убунте это довольно просто, на макинтоше - тоже. Напишу одну команду под другой, чтобы не растягивать (предполагается, что на маке используется MacPorts)

Ubuntu/Debian:

sudo apt-get install php5-xdebug

Mac:

sudo port install php5-xdebug

В операционной системе Windows всё может зависеть от ситуации. У меня, например, используется XAMPP, и заветная php_xdebug.dll обнаружилась в директории с остальными расширениями, оставалось только раскоментировать его в php.ini

отладка

Далее необходимо добавить в php.ini следующую секцию (если её там нет, конечно):

[XDebug]
zend_extension = "/path/to/php_xdebug.dll"
xdebug.remote_enable = 1
xdebug.remote_port = 9000
xdebug.profiler_enable = 0
xdebug.max_nesting_level = 250

Последняя строка важна для разработчиков, использующих Symfony2 либо шаблонизатор twig. По умолчанию параметр, задающий максимальную вложенность функций, равен 100, и вместе с вышеупомянутыми инструментами (и не только с ними, естественно) будет часто приводить к ошибке вида Fatal error: Maximum function nesting level of '100' reached, aborting!

А с PhpStorm сделаю комикс с картинками. Всё просто, но нужно знать эту последовательность :) Сначала в Settings → PHP устанавливаем интерпретатор. IDE довольно умная, так что потребуется только нажать на кнопку с тремя точками.

phpstorm-xdebug-1

Там же недалеко в Settings → PHP → Servers создаём сервер.

phpstorm-xdebug-2

После перемещаемся в Run → Edit Configurations

phpstorm-xdebug-3

... и создаём свой PHP Web Application

phpstorm-xdebug-4

Всё готово. Ставим с коде точку остановки (мышкой, рядом с нумерацией строк исходников) и нажимаем зелёного жука. Любуемся внутренностями переменных :)

phpstorm-xdebug-5

P.S.: Если в php.ini ещё добавить строку, как показано ниже, то на макинтошах будут в шторме открываться ссылки на файлы из трейсов ошибок и из симфони-профайлера. За Ubuntu и прочие линуксы пока не скажу, надо пробовать.

xdebug.file_link_format = "phpstorm://open?file=%f&line=%l"
g-plus-icon
comments powered by Disqus
Учтите, что комментарии добавляются только при включённом JavaScript в браузере. В ином случае информация хоть и не пропадёт бесследно, но будет отправлена в спам и вряд ли хоть кто-нибудь её увидит.
Guest
avatar
alert('asdasdasdasd');
Ответить
morontt
avatar
А ты мозговитый :)
Ответить
morontt
avatar
Работает? :)
Ответить
Guest
avatar
fdghfghfghfghfghfgh
Ответить
Kika
avatar
спасибо за статью! =)) все получилось идеально, вот только может стоило о порте вспомнить. У меня к примеру стоит 9001, потому что чаще всего 9000 занят. Новички в шторме не всегда знают где его изменять.
Ответить
morontt
avatar
Не за что :) В статейке упоминается о xdebug.remote_port = 9000, можно и догадаться по названию опции.
Ответить
6 комментариев Написать что-нибудь
Поля, помеченные asterisk, обязательны для заполнения.
Адрес электронной почты нигде не отображается, необходим только для обратной связи.
Веб-сайт вводите в формате http://example.org, при желании, конечно.