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:
- PHP Hata Ayıklama: temel hata ayıklama işlevi için.
- PHP Profil Oluşturucu: Önbellek dosyalarını analiz etmek için.
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.