Настраиваем XDebug в PhpStorm

Краткий обзор основной настройки и работы средства профилирования и отладки PHP скриптов для популярной IDE PhpStorm


В больших проектах отлаживать код, ловить переменные и смотреть пошаговое выполнение приложения удобно с помощью замечательного расширения для PHP, который называется XDebug.

Покажу в контексте localhost, подразумевая что вы работаете в среде локально установленного веб-сервера, например OpenServer (далее). Все манипуляции относительно настройки и установки XDebug аналогичны в своей сути и на любом другом удаленном веб-сервере, при условии что там включено расширение данного отладчика.


Включаем расширение и выставляем опции в конфигурационном файле

Запускаем сервак, идем в php.ini того интерпретатора под которым крутится приложение:

xdebug-1

Ищем секцию Xdebug (можно воспользоваться поиском), находим где закомментирована строка zend_extension и путь к расширению, раскомменчиваем ее и выставляем настройки примерно такие (в моем случае это работает отлично для всех моих проектов, проверено 100%. Всё, что указано, либо было установлено, а что то придется раскомментировать, остальное не трогаем):

xdebug.auto_trace = 0
xdebug.collect_includes = 1
xdebug.dump.REQUEST = *
xdebug.dump.SESSION = *
xdebug.dump.SERVER = REMOTE_ADDR,REQUEST_METHOD
xdebug.dump_globals = 1
xdebug.dump_once = 1
xdebug.dump_undefined = 1
xdebug.extended_info = 1
xdebug.idekey = "PHPSTORM"
xdebug.max_nesting_level = 400
xdebug.overload_var_dump = 1
xdebug.profiler_enable = 0
xdebug.profiler_enable_trigger = 0
xdebug.profiler_output_dir="%sprogdir%/userdata/temp/xdebug/"
xdebug.profiler_output_name = "cachegrind.out.%H%R"
xdebug.remote_enable = 1
xdebug.remote_handler = "dbgp"
xdebug.remote_host = "localhost"
xdebug.remote_mode = "req"
xdebug.remote_port = 9001
xdebug.trace_output_dir = "%sprogdir%/userdata/temp/xdebug/"
xdebug.var_display_max_children = 256
xdebug.var_display_max_depth = 16

После чего перезапускаем сервер. Здесь подразумевается что xdebug.remote_host это домен по умолчанию localhost, но если у вас какой то другой, то соответственно указываем локальный домен тот который надо дебажить. xdebug.profiler_output_dir эта опция, как и xdebug.trace_output_dir на удаленном (production) сервере может быть, конечно иной.

Настройка IDE

Проверял как в старенькой 8.0.1 (дома) версии, так и в новейшей phpStorm 2017 (в офисе), все шаги аналогичны, но показывать буду из старой версии:

Первым делом идем в настройки (Settings), здесь нужно указать путь к директории интерпретатора той версии (в OpenServer выбирается в Настройки — Модули — Секция PHP), под которым работает приложение в рамках домашнего сервера OpenServer:

xdebug-2

Затем указываем конкретно ваш локальный домен, по умолчанию, это localhost, порт 80 и Xdebug в качестве отладчика:

xdebug-3

Далее секция Debug. Тут порт нужно поставить тот, который вы проставили в php.ini и чтобы он был не занят, здесь как пример 9001:

xdebug-4

Затем следующая вкладка, где задаем опять же порт, IDE key, который в php.ini, домен:

xdebug-5

Далее Run » Edit Configurations..., добавляем профиль веб приложения PHP Web Application обзываем его, задаем стартовый URL и привязываем текущий домен:

xdebug-6

На этом базовая настройка завершена, отладчик готов к бою, осталось расставить такие брейкпоинты (точки автоматического останова), где будет доступно из IDE в специальной вкладке просмотр текущего стека всех переменных, констант, служебной информации в этой точке и возможности пошагового исполнения программы в дальнейшем, с каскадным переходом в подключаемые файлы приложения.

xdebug-7



Похожие заметки:

Обзор CodeLobster IDE

CodeLobster IDE это удобная, бесплатная, кросс-платформенная IDE с поддержкой Drupal, Joomla, Twig, JQuery, CodeIgniter, CakePHP, Bootstrap, Laravel, Node.js, AngularJS, Symfony, Magento, Yii, WordPress

Открыть здесь

189

Настраиваем IDE PhpStorm

В заметке рассматривается как создать новый проект и подключить его к удаленному web серверу или хостингу. Также покажу как настроить препроцессоры типа — SASS, для автоматической компиляции в CSS, без сторонних компиляторов, IDE умеет делать все сама.

Открыть здесь

2166


Перед тем как писать комментарии, рекомендую ознакомиться:

Markdown синтаксис »

Оформление кода »

Нужна аватарка »

Комментарии


2
avatar

Админ

Роман Жариков сказал 25-12-2018 в 00:22

   В ответ на комментарии автора Stas

Пока что как сделано это в шторме, не видел лучше