Отладка PHP с помощью Xdebug

Xdebug — это мощный инструмент отладки и профилирования PHP, который помогает нам анализировать и оптимизировать приложения PHP. Он поддерживает такие функции, как пошаговая отладка, измерение производительности и трассировка стека, что значительно упрощает устранение неполадок и обеспечивает лучшее понимание кода. Ниже приведено небольшое руководство по настройке для использования в VSCode.


Установить Xdebug

В качестве примера мы установим Xdebug в текущую систему Ubuntu.:

sudo apt-get install -y php8.4-xdebug

Наконец, мы создаем временный каталог для последующего хранения данных профилирования и отслеживания.:

mkdir -p /tmp/xdebug

Настроить Xdebug

После установки настраиваем Xdebug. Для этого редактируем его ru/php.ini:

vi /etc/php/8.4/fpm/conf.d/custom.ini

Далее следует разумная базовая конфигурация.:

[xdebug]
; mode (see: https://xdebug.org/docs/all_settings#mode)
;   reasonable default
xdebug.mode=debug,profile
;   disabled
;xdebug.mode=off
;   step debugging
;xdebug.mode=debug
;   performance profiling (be aware of load/space)
;xdebug.mode=profile
;   trace profiling (record args)
;xdebug.mode=trace

; starting mode
;   always (not recommended)
;xdebug.start_with_request=yes
;   only when specific get parameters / cookies are set
;   (?XDEBUG_TRIGGER=1, ?XDEBUG_PROFILE=1, ?XDEBUG_TRACE=1, ?XDEBUG_SESSION=1)
;   this is best in conjunction with Chrome extension "Xdebug helper"
xdebug.start_with_request=trigger
;   folder for analyzing profile dumps
xdebug.output_dir="/tmp/xdebug"
;   not needed, since it is already in /etc/php/8.4/fpm/conf.d/20-xdebug.ini
;zend_extension=xdebug.so

После внесения этих изменений мы перезапускаем PHP-FPM, чтобы применить изменения.:

sudo service php8.4-fpm restart

Настроить VSCode

Для использования Xdebug в Visual Studio Code требуются два расширения и корректировка конфигурации. Мы устанавливаем это:

Наконец, мы создаем файл конфигурации launch.json в папке .vscode анализируемого проекта.:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Listen for Xdebug",
            "type": "php",
            "request": "launch",
            "port": 9003,
            "ignore": ["**/vendor/**/*.php"]
        }
    ]
}

Установите расширение Chrome

Вспомогательное расширение Xdebug зарекомендовало себя как средство гибкой отладки в браузере. Это позволяет включать или отключать Xdebug только при необходимости. Вы также можете легко изменить режим отладки (например, переключиться с отладки на профилирование):

Настроить WordPress

При использовании Xdebug в среде WordPress может быть полезно отключить отладку в заданиях cron, когда сеанс отладки активен. Это упрощает отладку запросов. Для этого добавьте следующую строку в: wp-config.php а:

// disable wp cron on xdebug sessions
if (function_exists('xdebug_is_debugger_active') && xdebug_is_debugger_active()) {
    define('DISABLE_WP_CRON', true);
}

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

Назад