Для отладки и профилирования веб-приложений на 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:
- "Settings - Languages & Frameworks - PHP": выберите интерпретатор языка.
- "Settings - Languages & Frameworks - PHP - Debug": укажите порт для xDebug.
- "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)