اشکال زدایی در PHP با Xdebug

Xdebug یک ابزار قدرتمند اشکال زدایی و پروفایل PHP است که به ما کمک می کند برنامه های PHP را تجزیه و تحلیل و بهینه سازی کنیم. از ویژگی هایی مانند اشکال زدایی گام به گام، اندازه گیری عملکرد و ردیابی پشته پشتیبانی می کند که عیب یابی را بسیار آسان تر می کند و بینش بهتری را در مورد کد ارائه می دهد. در زیر یک راهنمای تنظیم کوچک برای استفاده در VSCode وجود دارد.


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 در کد ویژوال استودیو، دو پسوند و یک تنظیم پیکربندی لازم است. ما این را نصب می کنیم:

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

بازگشت