Xdebug एक शक्तिशाली PHP डिबगिंग और प्रोफाइलिंग टूल है जो हमें PHP अनुप्रयोगों का विश्लेषण और अनुकूलन करने में मदद करता है। यह चरण-दर-चरण डिबगिंग, प्रदर्शन माप और स्टैक ट्रेसिंग जैसी सुविधाओं का समर्थन करता है, जो समस्या निवारण को बहुत आसान बनाता है और कोड में बेहतर अंतर्दृष्टि प्रदान करता है। नीचे VSCode के भीतर उपयोग के लिए एक छोटी सेटअप मार्गदर्शिका दी गई है।
एक्सडीबग स्थापित करें
उदाहरण के तौर पर, हम मौजूदा उबंटू सिस्टम पर Xdebug इंस्टॉल करते हैं:
sudo apt-get install -y php8.4-xdebug
अंत में, हम प्रोफाइलिंग और ट्रेसिंग डेटा के बाद के भंडारण के लिए एक अस्थायी निर्देशिका बनाते हैं:
mkdir -p /tmp/xdebug
Xdebug कॉन्फ़िगर करें
स्थापना के बाद, हम Xdebug को कॉन्फ़िगर करते हैं। ऐसा करने के लिए, हम इसे संपादित करते हैं hi/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 का उपयोग करने के लिए, दो एक्सटेंशन और एक कॉन्फ़िगरेशन समायोजन की आवश्यकता होती है। हम इसे इंस्टॉल करते हैं:
- पीएचपी डीबग: बुनियादी डिबगिंग कार्यक्षमता के लिए।
- पीएचपी प्रोफाइलर: कैशग्रिंड फ़ाइलों का विश्लेषण करने के लिए।
अंत में, हम विश्लेषण के लिए प्रोजेक्ट के .vscode फ़ोल्डर में लॉन्च.जेसन कॉन्फ़िगरेशन फ़ाइल बनाते हैं:
{
"version": "0.2.0",
"configurations": [
{
"name": "Listen for Xdebug",
"type": "php",
"request": "launch",
"port": 9003,
"ignore": ["**/vendor/**/*.php"]
}
]
}
क्रोम एक्सटेंशन इंस्टॉल करें
ब्राउज़र में लचीली डिबगिंग के लिए Xdebug हेल्पर एक्सटेंशन ने खुद को साबित किया है। इससे केवल आवश्यक होने पर ही Xdebug को सक्षम या अक्षम करना संभव हो जाता है। आप डिबग मोड को भी आसानी से बदल सकते हैं (उदाहरण के लिए, डिबगिंग से प्रोफाइलिंग पर स्विच करने के लिए):
वर्डप्रेस कॉन्फ़िगर करें
वर्डप्रेस वातावरण में Xdebug का उपयोग करते समय, डिबगिंग सत्र सक्रिय होने पर क्रॉन जॉब्स के भीतर डिबगिंग को अक्षम करना उपयोगी हो सकता है। इससे डिबगिंग अनुरोध आसान हो जाते हैं. ऐसा करने के लिए, निम्न पंक्ति को इसमें जोड़ें: 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 न केवल काम को अधिक कुशल बनाता है, बल्कि कोड पर नियंत्रण और स्पष्टता के माध्यम से विकास में एक नई गुणवत्ता भी लाता है।