Настройка локальной отладки XDebug и PhpStorm 7.1
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!
Если у вас не запускается отладка - проверьте количество запущенных сессий и доступный лимит.