Отладка в PHP - xDebug

PhpStorm Разработка Рецепты

Для отладки и профилирования веб-приложений на PHP используется расширение xDebug. Официальная инструкция по настройке - xdebug.org/docs/remote. Плюс к этому, на официальном сайте, существует "мастер настройки", который подскажет как установить xDebug на ваш компьютер, нужно лишь скопировать вывод функции phpinfo() в предлагаемое поле и нажать на кнопку "Analyse my phpinfo() output".

Настройка

Для работоспособности xDebug необходимо установить в системе несколько настроек:

  • xdebug.remote_enable - флаг активации связи с отладочным клиентом, который прослушивает хост и порт, как установлено с настройками xdebug.remote_host и xdebug.remote_port;
  • xdebug.remote_host - ip-адрес к которому подключается отладчик;
  • xdebug.remote_port - порт ip-адреса к которому подключается отладчик;

Если сервер с отладчиком используется несколькими разработчиками, то указывается параметр xdebug.remote_connect_back, который игнорирует параметр xdebug.remote_host, а адрес для подключения берет из $_SERVER['HTTP_X_FORWARDED_FOR'] и $_SERVER['REMOTE_ADDR'].

  • xdebug.remote_mode - режим работы отладчика: "req" - активация отладчика с начала работы скрипта и " jit" - активация отладчика только при появлении ошибки. Режим "req" выставляется по умолчанию;
  • xdebug.idekey - уникальный ключ обработчика отладчика. Он задается вами самостоятельно, например, "MYIDENAMEDEBUGGER".
  • zend_extension - путь до расширения xDebug.

Указанные настройки выше можно размещать как в файле php.ini, так и в переменных среды (окружения) вашей операционной системы.

Пример настройки xDebug через php.ini:

;... другие настройки.
; xDebug
zend_extension = 'C:\php\ext\php_xdebug-2.9.1-7.4-vc15-nts-x86_64.dll'
xdebug.remote_enable=on
xdebug.remote_port=9001
xdebug.remote_host=127.0.0.1
xdebug.remote_mode="req"
xdebug.idekey="PHPSTORM"
;... другие настройки.

После установки указанных выше настроек необходимо настроить вашу IDE. Пример PhpStorm'a:

  1. "Settings - Languages & Frameworks - PHP": выберите интерпретатор языка.
  2. "Settings - Languages & Frameworks - PHP - Debug": укажите порт для xDebug.
  3. "Settings - Languages & Frameworks - PHP - Debug - DBGp Proxy": укажите "IDE key", "Host" и "Port" из php.ini.

Отладка в PhpStorm'e происходит следующим образом. Вы настраиваете конфигурацию - кнопка "Edit configurations" на панели отладки и начинаете прослушивать соединения xDebug'a с помощью кнопки "Start Listening for PHP Debug Connections" на той же панели отладки. Не забудьте сделать хотя бы одну точку остановки отладчика и только потом запустить отладку.

Полезные ссылки


Комментарии (0)

Войдите, чтобы оставить комментарий.