Xdebug – бул PHP тиркемелерин талдоо жана оптималдаштырууга жардам берген күчтүү PHP мүчүлүштүктөрдү оңдоо жана профилдөө куралы. Бул кадам-кадам мүчүлүштүктөрдү оңдоо, өндүрүмдүүлүктү өлчөө жана стектерге байкоо жүргүзүү сыяктуу функцияларды колдойт, бул көйгөйлөрдү оңдоону бир топ жеңилдетет жана кодду жакшыраак түшүнүүгө мүмкүндүк берет. Төмөндө VSCode ичинде колдонуу үчүн кичинекей орнотуу көрсөтмөсү.
Xdebug орнотуу
Мисал катары, биз Xdebugду учурдагы Ubuntu системасына орнотобуз:
sudo apt-get install -y php8.4-xdebug
Акыр-аягы, биз профилдөө жана издөө маалыматтарын кийинчерээк сактоо үчүн убактылуу каталогду түзөбүз:
mkdir -p /tmp/xdebug
Xdebug конфигурациялоо
Орнотуудан кийин, биз Xdebug конфигурациялайбыз. Бул үчүн, биз аны түзөтөбүз ky/php.ini:
vi /etc/php/8.4/fpm/conf.d/custom.ini
Төмөнкү нерсе акылга сыярлык негизги конфигурация болуп саналат:
[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
Бул тууралоолорду киргизгенден кийин, өзгөртүүлөрдү колдонуу үчүн PHP-FPMди өчүрүп күйгүзөбүз:
sudo service php8.4-fpm restart
VSCode конфигурациялоо
Visual Studio кодунда Xdebug колдонуу үчүн эки кеңейтүү жана конфигурацияны тууралоо талап кылынат. Биз муну орнотобуз:
- PHP мүчүлүштүктөрдү оңдоо: мүчүлүштүктөрдү оңдоонун негизги функциялары үчүн.
- PHP Profiler: Кэш-grind файлдарын талдоо үчүн.
Акырында, биз талдоо үчүн долбоордун .vscode папкасында launch.json конфигурация файлын түзөбүз.:
{
"version": "0.2.0",
"configurations": [
{
"name": "Listen for Xdebug",
"type": "php",
"request": "launch",
"port": 9003,
"ignore": ["**/vendor/**/*.php"]
}
]
}
Chrome кеңейтүүсүн орнотуу
Xdebug жардамчы кеңейтүүсү браузерде ийкемдүү мүчүлүштүктөрдү оңдоо үчүн өзүн далилдеди. Бул Xdebugди зарыл болгондо гана иштетүүгө же өчүрүүгө мүмкүндүк берет. Мүчүлүштүктөрдү оңдоо режимин оңой эле өзгөртө аласыз (мисалы, мүчүлүштүктөрдү оңдоодон профилге өтүү үчүн):
WordPress конфигурациялоо
Xdebug'ду WordPress чөйрөсүндө колдонуп жатканда, мүчүлүштүктөрдү оңдоо сессиясы активдүү болгондо cron жумуштарында мүчүлүштүктөрдү оңдоону өчүрүү пайдалуу болушу мүмкүн. Бул мүчүлүштүктөрдү оңдоо сурамдарын жеңилдетет. Бул үчүн, төмөнкү сапты кошуу: wp-config.php
а:
// disable wp cron on xdebug sessions
if (function_exists('xdebug_is_debugger_active') && xdebug_is_debugger_active()) {
define('DISABLE_WP_CRON', true);
}
Бул конфигурация менен бизде татаал мүчүлүштүктөрдү оңдоо көйгөйлөрүн тактык менен чечүүгө мүмкүндүк берген күчтүү орнотуу бар. Кежир мүчүлүштүктөр табылабы же майнаптуу көйгөйлөрдү тактообу - Xdebug ишти натыйжалуураак кылбастан, кодду көзөмөлдөө жана айкындуулук аркылуу өнүгүүгө жаңы сапатты алып келет.