Debugging ing PHP nganggo Xdebug

Xdebug minangka alat debugging lan profiling PHP sing kuat sing mbantu kita nganalisa lan ngoptimalake aplikasi PHP. Ndhukung fitur kayata debugging langkah-langkah, pangukuran kinerja lan nelusuri tumpukan, sing nggawe pemecahan masalah luwih gampang lan menehi wawasan sing luwih apik babagan kode kasebut. Ing ngisor iki minangka pandhuan persiyapan cilik kanggo digunakake ing VSCode.


Instal Xdebug

Minangka conto, kita nginstal Xdebug ing sistem Ubuntu saiki:

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

Pungkasan, kita nggawe direktori sauntara kanggo nyimpen data profil lan nelusuri mengko:

mkdir -p /tmp/xdebug

Konfigurasi Xdebug

Sawise instalasi, kita ngatur Xdebug. Kanggo nindakake iki, kita nyunting jv/php.ini:

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

Ing ngisor iki minangka konfigurasi dhasar sing wicaksana:

[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

Sawise nggawe pangaturan kasebut, kita miwiti maneh PHP-FPM kanggo ngetrapake pangowahan kasebut:

sudo service php8.4-fpm restart

Konfigurasi VSCode

Kanggo nggunakake Xdebug ing Visual Studio Code, rong ekstensi lan pangaturan konfigurasi dibutuhake. Kita nginstal iki:

Pungkasan, kita nggawe file konfigurasi launch.json ing folder .vscode proyek sing bakal dianalisis:

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

Instal Ekstensi Chrome

Ekstensi helper Xdebug wis mbuktekake dhewe kanggo debugging fleksibel ing browser. Iki ndadekake iku bisa kanggo ngaktifake utawa mateni Xdebug mung yen perlu. Sampeyan uga bisa ngganti mode debug kanthi gampang (contone, kanggo ngalih saka debugging menyang profiling):

Konfigurasi WordPress

Nalika nggunakake Xdebug ing lingkungan WordPress, bisa uga migunani kanggo mateni debugging ing proyek cron nalika sesi debugging aktif. Iki nggawe panjalukan debugging luwih gampang. Kanggo nindakake iki, tambahake baris ing ngisor iki: 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);
}

Kanthi konfigurasi iki kita duwe persiyapan kuat sing ngidini kita kanggo nyegat masalah debugging Komplek kanthi presisi. Apa nemokake bug bandel utawa masalah kinerja fine-tuning - Xdebug ora mung nggawe karya luwih efisien, nanging uga ndadekke kualitas anyar kanggo pembangunan liwat kontrol lan kajelasan kode.

Bali