I-Xdebug iyithuluzi elinamandla lokulungisa iphutha le-PHP nethuluzi lokuphrofayili elisisiza ukuthi sihlaziye futhi senze ngokugcwele izinhlelo zokusebenza ze-PHP. Isekela izici ezifana nokulungisa iphutha ngesinyathelo ngasinye, ukukalwa kokusebenza nokulandelela isitaki, okwenza ukuxazulula inkinga kube lula kakhulu futhi kunikeze nemininingwane engcono kukhodi. Ngezansi umhlahlandlela omncane wokusetha ozosetshenziswa ngaphakathi kwe-VSCode.
Faka i-Xdebug
Njengesibonelo, sizofaka i-Xdebug ohlelweni lwamanje lwe-Ubuntu:
sudo apt-get install -y php8.4-xdebug
Ekugcineni, sakha uhla lwemibhalo lwesikhashana ukuze lugcinwe kamuva lokuphrofayili nokulandelela idatha:
mkdir -p /tmp/xdebug
Lungiselela i-Xdebug
Ngemva kokufaka, silungiselela i-Xdebug. Ukuze senze lokhu, siyakuhlela zu/php.ini:
vi /etc/php/8.4/fpm/conf.d/custom.ini
Okulandelayo ukucushwa okuyisisekelo okunengqondo:
[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
Ngemva kokwenza lezi zinguquko, siqala kabusha i-PHP-FPM ukuze sisebenzise izinguquko:
sudo service php8.4-fpm restart
Lungiselela i-VSCode
Ukusebenzisa i-Xdebug ku-Visual Studio Code, izandiso ezimbili kanye nokulungiswa kokumisa kuyadingeka. Sifaka lokhu:
- PHP Debug: ngokusebenza okuyisisekelo kokulungisa iphutha.
- Iphrofayili ye-PHP: Okokuhlaziya amafayela we-cachegrind.
Ekugcineni, sakha ifayela lokumisa le -launch.json kufolda ye -.vscode yephrojekthi ezohlaziywa.:
{
"version": "0.2.0",
"configurations": [
{
"name": "Listen for Xdebug",
"type": "php",
"request": "launch",
"port": 9003,
"ignore": ["**/vendor/**/*.php"]
}
]
}
Faka Isandiso se-Chrome
Isandiso somsizi we-Xdebug sizibonakalise ngokwaso ngokulungisa iphutha esipheqululini. Lokhu kwenza kube nokwenzeka ukunika amandla noma ukukhubaza i-Xdebug kuphela uma kunesidingo. Ungakwazi futhi ukushintsha kalula imodi yokususa iphutha (isibonelo, ukushintsha ukusuka ekususeni iphutha uye ekwenzeni iphrofayela):
Lungiselela i-WordPress
Uma usebenzisa i-Xdebug endaweni ye-WordPress, kungase kube usizo ukukhubaza ukulungisa iphutha phakathi kwemisebenzi ye-cron lapho iseshini yokususa iphutha isebenza. Lokhu kwenza izicelo zokulungisa iphutha zibe lula. Ukuze wenze lokhu, engeza umugqa olandelayo ku: 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);
}
Ngalokhu kumisa sinokusethwa okunamandla okusivumela ukuthi sibhekane nezinkinga zokulungisa iphutha ngokunemba. Ukuthi uthole iziphazamisi ezinenkani noma izinkinga zokusebenza zokulungisa kahle - I-Xdebug ayigcini nje ngokwenza umsebenzi usebenze kahle, kodwa futhi iletha ikhwalithi entsha ekuthuthukisweni ngokulawula nokucaca phezu kwekhodi.