Xdebug-ը PHP-ի վրիպազերծման և պրոֆիլավորման հզոր գործիք է, որն օգնում է մեզ վերլուծել և օպտիմիզացնել PHP հավելվածները: Այն աջակցում է այնպիսի գործառույթների, ինչպիսիք են քայլ առ քայլ վրիպազերծումը, կատարողականի չափումը և կույտի հետագծումը, ինչը շատ ավելի հեշտ է դարձնում անսարքությունների վերացումը և ավելի լավ պատկերացումներ տալիս կոդի վերաբերյալ: Ստորև բերված է VSCode-ում օգտագործելու համար տեղադրման փոքր ուղեցույց:
Տեղադրեք Xdebug
Որպես օրինակ, մենք տեղադրում ենք Xdebug-ը ներկայիս Ubuntu համակարգի վրա:
sudo apt-get install -y php8.4-xdebug
Վերջապես, մենք ստեղծում ենք ժամանակավոր գրացուցակ՝ հետագայում պրոֆիլավորման և հետագծման տվյալների պահպանման համար:
mkdir -p /tmp/xdebug
Կարգավորել Xdebug-ը
Տեղադրվելուց հետո մենք կարգավորում ենք Xdebug-ը: Դա անելու համար մենք խմբագրում ենք այն hy/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
Xdebug-ը Visual Studio Code-ում օգտագործելու համար պահանջվում է երկու ընդլայնում և կազմաձևման ճշգրտում: Մենք տեղադրում ենք սա:
- PHP վրիպազերծում: վրիպազերծման հիմնական գործառույթների համար:
- PHP պրոֆիլ: Cachegrind ֆայլերը վերլուծելու համար:
Վերջապես, մենք ստեղծում ենք launch.json կազմաձևման ֆայլը վերլուծվող նախագծի .vscode պանակում::
{
"version": "0.2.0",
"configurations": [
{
"name": "Listen for Xdebug",
"type": "php",
"request": "launch",
"port": 9003,
"ignore": ["**/vendor/**/*.php"]
}
]
}
Տեղադրեք Chrome Extension-ը
Xdebug օգնականի ընդլայնումը ապացուցել է իրեն բրաուզերում ճկուն վրիպազերծման համար: Սա հնարավորություն է տալիս ակտիվացնել կամ ապաակտիվացնել Xdebug-ը միայն անհրաժեշտության դեպքում: Կարող եք նաև հեշտությամբ փոխել վրիպազերծման ռեժիմը (օրինակ՝ վրիպազերծումից պրոֆիլավորման անցնելու համար):
Կարգավորեք WordPress-ը
WordPress միջավայրում Xdebug-ն օգտագործելիս կարող է օգտակար լինել անջատել վրիպազերծումը 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-ը ոչ միայն ավելի արդյունավետ է դարձնում աշխատանքը, այլև նոր որակ է բերում զարգացմանը՝ կոդի վերահսկողության և հստակության միջոցով: