Xdebug یک ابزار قدرتمند اشکالزدایی و پروفایلینگ برای PHP است که به ما در تجزیه و تحلیل و بهینهسازی برنامههای PHP کمک میکند. این ابزار از ویژگیهایی مانند اشکالزدایی گام به گام، اندازهگیری عملکرد و ردیابی پشته پشتیبانی میکند که عیبیابی را بسیار ساده کرده و بینش بهتری از کد ارائه میدهد. در ادامه یک راهنمای راهاندازی کوتاه برای استفاده از آن در VS Code ارائه شده است.
Xdebug را نصب کنید
به عنوان مثال، ما Xdebug را بر روی یک سیستم فعلی اوبونتو نصب می کنیم:
sudo apt-get install -y php8.4-xdebug
در نهایت، یک دایرکتوری موقت برای ذخیره سازی بعدی پروفایل و ردیابی داده ها ایجاد می کنیم:
mkdir -p /tmp/xdebug
Xdebug را پیکربندی کنید
پس از نصب، Xdebug را پیکربندی می کنیم. برای این کار آن را ویرایش می کنیم fa/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 در کد ویژوال استودیو، دو پسوند و یک تنظیم پیکربندی لازم است. ما این را نصب می کنیم:
- اشکال زدایی PHP: برای عملکرد اصلی اشکال زدایی
- PHP Profiler: برای تجزیه و تحلیل فایل های cachegrind.
در نهایت، فایل پیکربندی launch.json را در پوشه .vscode پروژه ایجاد می کنیم تا آنالیز شود.:
{
"version": "0.2.0",
"configurations": [
{
"name": "Listen for Xdebug",
"type": "php",
"request": "launch",
"port": 9003,
"ignore": ["**/vendor/**/*.php"]
}
]
}
برنامه افزودنی کروم را نصب کنید
پسوند کمکی Xdebug خود را برای اشکال زدایی انعطاف پذیر در مرورگر ثابت کرده است. این امکان فعال یا غیرفعال کردن Xdebug را فقط در مواقع ضروری فراهم می کند. شما همچنین می توانید به راحتی حالت اشکال زدایی را تغییر دهید (مثلاً برای تغییر از اشکال زدایی به نمایه سازی):

وردپرس را پیکربندی کنید
هنگام استفاده از Xdebug در محیط وردپرس، غیرفعال کردن اشکال زدایی در cron jobها زمانی که یک جلسه اشکال زدایی فعال است ممکن است مفید باشد. این امر اشکال زدایی درخواست ها را آسان تر می کند. برای این کار خط زیر را اضافه کنید: 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 نه تنها کار را کارآمدتر می کند، بلکه کیفیت جدیدی را از طریق کنترل و شفافیت روی کد برای توسعه به ارمغان می آورد.