Sencimigado en PHP kun Xdebug

Xdebug estas potenca PHP-sencimiga kaj profila ilo, kiu helpas nin analizi kaj optimumigi PHP-aplikojn. Ĝi subtenas funkciojn kiel paŝo post paŝo senararigado, rendimento-mezurado kaj stakspurado, kio faciligas problemojn kaj provizas pli bonajn komprenojn pri la kodo. Malsupre estas malgranda agorda gvidilo por uzo ene de VSCode.


Instalu Xdebug

Ekzemple, ni instalas Xdebug sur nuna Ubuntu-sistemo:

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

Fine, ni kreas provizoran dosierujon por pli posta konservado de profilaj kaj spurantaj datumoj:

mkdir -p /tmp/xdebug

Agordi Xdebug

Post instalado, ni agordas Xdebug. Por fari tion, ni redaktas ĝin eo/php.ini:

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

Kio sekvas estas prudenta baza agordo:

[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

Post fari ĉi tiujn ĝustigojn, ni rekomencas PHP-FPM por apliki la ŝanĝojn:

sudo service php8.4-fpm restart

Agordu VSCode

Por uzi Xdebug en Visual Studio Code, du etendoj kaj agorda ĝustigo estas bezonataj. Ni instalas ĉi tion:

Fine, ni kreas la agordan dosieron launch.json en la dosierujo .vscode de la analizota projekto:

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

Instalu Chrome Extension

La helpa etendaĵo Xdebug pruvis sin por fleksebla sencimigo en la retumilo. Ĉi tio ebligas ebligi aŭ malŝalti Xdebug nur kiam necese. Vi ankaŭ povas facile ŝanĝi la sencimigan reĝimon (ekzemple por ŝanĝi de sencimigado al profilado):

Agordu WordPress

Kiam vi uzas Xdebug en WordPress-medio, povas esti utile malebligi sencimigon ene de cron-laboroj kiam sencimiga sesio estas aktiva. Ĉi tio faciligas sencimigajn petojn. Por fari tion, aldonu la sekvan linion al: 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);
}

Kun ĉi tiu agordo ni havas potencan aranĝon, kiu ebligas al ni trakti kompleksajn sencimigajn problemojn kun precizeco. Ĉu trovi obstinajn cimojn aŭ fajnagordantajn rendimentajn problemojn - Xdebug ne nur igas laboron pli efika, sed ankaŭ alportas novan kvaliton al evoluo per kontrolo kaj klareco de la kodo.

Reen