Отладка в PHP — xDebug

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

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

Добавить комментарий