Налагодження PHP за допомогою Xdebug

Xdebug — це потужний інструмент для налагодження та профілювання PHP, який допомагає аналізувати й оптимізувати програми PHP. Він підтримує такі функції, як покрокове налагодження, вимірювання продуктивності та трасування стека, що значно полегшує усунення несправностей і забезпечує краще розуміння коду. Нижче наведено невеликий посібник із налаштування для використання в VSCode.


Встановіть Xdebug

Як приклад, ми встановлюємо Xdebug на поточну систему Ubuntu:

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

Нарешті, ми створюємо тимчасовий каталог для подальшого зберігання даних профілювання та трасування:

mkdir -p /tmp/xdebug

Налаштувати Xdebug

Після встановлення ми налаштовуємо Xdebug. Для цього редагуємо його uk/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 a:

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

Завдяки цій конфігурації ми маємо потужне налаштування, яке дозволяє нам точно вирішувати складні проблеми налагодження. Незалежно від того, чи йдеться про виявлення впертих помилок чи для тонкого налаштування продуктивності, Xdebug не тільки робить роботу ефективнішою, але й забезпечує нову якість розробки завдяки контролю та чіткості коду.

Назад