Korrigjimi i PHP me Xdebug

Xdebug është një mjet i fuqishëm korrigjimi dhe profilizimi i PHP që na ndihmon të analizojmë dhe optimizojmë aplikacionet PHP. Ai mbështet veçori të tilla si korrigjimi hap pas hapi, matja e performancës dhe gjurmimi i stivës, gjë që e bën zgjidhjen e problemeve shumë më të lehtë dhe ofron njohuri më të mira për kodin. Më poshtë është një udhëzues i vogël konfigurimi për përdorim brenda VSCode.


Instaloni Xdebug

Si shembull, ne instalojmë Xdebug në një sistem aktual Ubuntu:

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

Së fundi, ne krijojmë një direktori të përkohshme për ruajtjen e mëvonshme të të dhënave të profilizimit dhe gjurmimit:

mkdir -p /tmp/xdebug

Konfiguro Xdebug

Pas instalimit, ne konfigurojmë Xdebug. Për ta bërë këtë, ne e modifikojmë atë sq/php.ini:

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

Ajo që vijon është një konfigurim bazë i arsyeshëm:

[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

Pas kryerjes së këtyre rregullimeve, ne rifillojmë PHP-FPM për të aplikuar ndryshimet:

sudo service php8.4-fpm restart

Konfiguro VSCode

Për të përdorur Xdebug në Visual Studio Code, kërkohen dy shtesa dhe një rregullim konfigurimi. Ne e instalojmë këtë:

Së fundi, ne krijojmë skedarin e konfigurimit launch.json në dosjen .vscode të projektit që do të analizohet:

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

Instaloni shtesën e Chrome

Zgjatja ndihmëse Xdebug ka provuar veten për korrigjimin fleksibël në shfletues. Kjo bën të mundur aktivizimin ose çaktivizimin e Xdebug vetëm kur është e nevojshme. Ju gjithashtu mund të ndryshoni lehtësisht modalitetin e korrigjimit (për shembull, për të kaluar nga korrigjimi në profilim):

Konfiguro WordPress

Kur përdorni Xdebug në një mjedis WordPress, mund të jetë e dobishme të çaktivizoni korrigjimin brenda punëve të cron kur një sesion korrigjimi është aktiv. Kjo e bën më të lehtë korrigjimin e kërkesave. Për ta bërë këtë, shtoni rreshtin e mëposhtëm në: 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);
}

Me këtë konfigurim ne kemi një konfigurim të fuqishëm që na lejon të trajtojmë problemet komplekse të korrigjimit me saktësi. Qoftë gjetja e gabimeve kokëfortë ose problemet e rregullimit të mirë të performancës - Xdebug jo vetëm që e bën punën më efikase, por gjithashtu sjell një cilësi të re në zhvillim përmes kontrollit dhe qartësisë mbi kodin.

Mbrapa