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