Xdebug ile PHP'de hata ayıklama

Xdebug, PHP uygulamalarını analiz etmemize ve optimize etmemize yardımcı olan güçlü bir PHP hata ayıklama ve profil oluşturma aracıdır. Adım adım hata ayıklama, performans ölçümü ve yığın izleme gibi özellikleri destekler; bu da sorun gidermeyi çok daha kolaylaştırır ve koda ilişkin daha iyi bilgiler sağlar. Aşağıda VSCode'da kullanılacak küçük bir kurulum kılavuzu bulunmaktadır.


Xdebug'u yükleyin

Örnek olarak Xdebug'u mevcut bir Ubuntu sistemine kuruyoruz:

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

Son olarak, profil oluşturma ve izleme verilerinin daha sonra depolanması için geçici bir dizin oluşturuyoruz:

mkdir -p /tmp/xdebug

Xdebug'u yapılandırın

Kurulumdan sonra Xdebug'u yapılandırıyoruz. Bunu yapmak için onu düzenliyoruz tr/php.ini:

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

Aşağıda mantıklı bir temel konfigürasyon yer almaktadır:

[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

Bu ayarlamaları yaptıktan sonra değişiklikleri uygulamak için PHP-FPM'yi yeniden başlatıyoruz.:

sudo service php8.4-fpm restart

VSCode'u yapılandırın

Xdebug'u Visual Studio Code'da kullanmak için iki uzantı ve bir yapılandırma ayarlaması gerekir. Bunu yüklüyoruz:

Son olarak analiz edilecek projenin .vscode klasöründe launch.json konfigürasyon dosyasını oluşturuyoruz.:

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

Chrome Uzantısını Yükle

Xdebug yardımcı uzantısı, tarayıcıda esnek hata ayıklama konusunda kendini kanıtlamıştır. Bu, Xdebug'u yalnızca gerektiğinde etkinleştirmeyi veya devre dışı bırakmayı mümkün kılar. Ayrıca hata ayıklama modunu da kolayca değiştirebilirsiniz (örneğin, hata ayıklamadan profil oluşturmaya geçiş yapmak için):

WordPress'i yapılandırın

Xdebug'u WordPress ortamında kullanırken, hata ayıklama oturumu etkinken cron işlerinde hata ayıklamayı devre dışı bırakmak yararlı olabilir. Bu, hata ayıklama isteklerini kolaylaştırır. Bunu yapmak için aşağıdaki satırı ekleyin: 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);
}

Bu yapılandırmayla, karmaşık hata ayıklama sorunlarını hassas bir şekilde çözmemize olanak tanıyan güçlü bir kuruluma sahibiz. İnatçı hataları bulma veya performans sorunlarına ince ayar yapma - Xdebug yalnızca işi daha verimli hale getirmekle kalmaz, aynı zamanda kod üzerinde kontrol ve netlik yoluyla geliştirmeye yeni bir kalite getirir.

Geri