Xdebug হল একটি শক্তিশালী পিএইচপি ডিবাগিং এবং প্রোফাইলিং টুল যা আমাদের পিএইচপি অ্যাপ্লিকেশন বিশ্লেষণ এবং অপ্টিমাইজ করতে সাহায্য করে। এটি ধাপে ধাপে ডিবাগিং, কর্মক্ষমতা পরিমাপ এবং স্ট্যাক ট্রেসিংয়ের মতো বৈশিষ্ট্যগুলিকে সমর্থন করে, যা সমস্যা সমাধানকে আরও সহজ করে তোলে এবং কোডের আরও ভাল অন্তর্দৃষ্টি প্রদান করে। নীচে VSCode-এর মধ্যে ব্যবহারের জন্য একটি ছোট সেটআপ গাইড রয়েছে৷
Xdebug ইনস্টল করুন
একটি উদাহরণ হিসাবে, আমরা বর্তমান উবুন্টু সিস্টেমে Xdebug ইনস্টল করি:
sudo apt-get install -y php8.4-xdebug
অবশেষে, আমরা প্রোফাইলিং এবং ট্রেসিং ডেটার পরবর্তী স্টোরেজের জন্য একটি অস্থায়ী ডিরেক্টরি তৈরি করি:
mkdir -p /tmp/xdebug
Xdebug কনফিগার করুন
ইনস্টলেশনের পরে, আমরা Xdebug কনফিগার করি। এটি করার জন্য, আমরা এটি সম্পাদনা করি bn/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 ফোল্ডারে launch.json কনফিগারেশন ফাইল তৈরি করি:
{
"version": "0.2.0",
"configurations": [
{
"name": "Listen for Xdebug",
"type": "php",
"request": "launch",
"port": 9003,
"ignore": ["**/vendor/**/*.php"]
}
]
}
Chrome এক্সটেনশন ইনস্টল করুন
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 শুধুমাত্র কাজকে আরও দক্ষ করে না, কিন্তু কোডের উপর নিয়ন্ত্রণ এবং স্বচ্ছতার মাধ্যমে উন্নয়নে একটি নতুন গুণ নিয়ে আসে।