Настройка локальной отладки XDebug и PhpStorm 7.1

Категория: IDE

PhpStorm 7 предоставляет страницу генерации букмарклетов для запуска, остановки, перезапуска отладки и профилирования. Букмарклеты просто управляют кукой XDEBUG_SESSION = PHPSTORM, которая позволяет запустить удаленную отладку.

Конфиг php.ini

Конфиг /etc/php5/apache2/php.ini  и  /etc/php5/cli/php.ini  файлов:

[xdebug]
zend_extension="/usr/lib/php5/20121212/xdebug.so"
xdebug.default_enable = On
xdebug.var_display_max_depth=6
xdebug.remote_enable=1
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000
xdebug.remote_handler=dbgp
xdebug.idekey=PHPSTORM
xdebug.remote_mode = req
xdebug.remote_autostart=1
xdebug.remote_log=/tmp/xdebug.log
xdebug.profiler_enable_trigger=1
xdebug.profiler_enable=0
xdebug.profiler_output_dir=/tmp/profiler
xdebug.show_local_vars=1
xdebug.overload_var_dump=1
xdebug.max_nesting_level = 200
Примечание

В Apache2 конфиг XDebug'а может располагаться во внешних файлах конфигурации модуля /etc/php5/mods-available/xdebug.ini.

Отладка веб приложения

PHP Web Application

Отладка локального веб приложения (сайта). Запускается либо при наличии куки XDEBUG_SESSION, со значением  IDE KEY (по дефолту PHPSTORM), либо по явному старту сессии из PhpStorm: ?XDEBUG_SESSION_START=xxxxx.

PHP Remote Debug

Отладка удаленных веб приложений. Интересно, что наличие куки XDEBUG_SESSION с определенным IDE KEY - не обязательно.

PHP Script

Отладка отдельных PHP скриптов из консоли.

Частые ошибки

Laravel 4!

При первой настройке XDebug или после изменения параметров php.ini перезапустите artisan serve. Иначе могут быть проблемы с удаленной отладкой.

Ограничение на параллельные сессии XDebug!

Если у вас не запускается отладка - проверьте количество запущенных сессий и доступный лимит.


категория: IDE