
راهنمای کامل راهاندازی Xdebug برای PHP و React
Xdebug چیست؟
Xdebug یک افزونه PHP است که امکانات پیشرفته دیباگینگ مانند موارد زیر را ارائه میدهد:
- دیباگینگ لحظهای و گامبهگام.
- پیغامهای خطا و ردگیریهای استک بهبودیافته.
- پروفایلینگ و مانیتورینگ عملکرد.
- پشتیبانی از دیباگینگ از راه دور.
در کنار React، Xdebug به دیباگ تعاملات بین بکاند و فرانتاند، مثل فراخوانیهای API، کمک میکند.
چرا از Xdebug با PHP و React استفاده کنیم؟
- شناسایی مشکلات بکاند: مشکلات در پاسخهای API PHP که توسط React ایجاد میشوند را شناسایی کنید.
- توسعه سریعتر: دیباگ یکپارچه فرانتاند و بکاند.
- افزایش بهرهوری: کاهش زمان دیباگ با بررسی متغیرها و استکها در لحظه.
راهنمای گامبهگام راهاندازی Xdebug با PHP و React
1. نصب Xdebug
برای PHP نصبشده بهصورت محلی:
php -v
pecl install xdebug
php -m | grep xdebug
برای Docker:
RUN pecl install xdebug && docker-php-ext-enable xdebug
docker-compose build
2. تنظیم Xdebug
فایل php.ini خود را ویرایش کنید:
[xdebug]
zend_extension=xdebug.so
xdebug.mode=debug
xdebug.start_with_request=yes
xdebug.client_host=host.docker.internal
xdebug.client_port=9003
xdebug.log=/var/log/xdebug.log
PHP یا کانتینر Docker خود را ریاستارت کنید.
3. تنظیم IDE
برای VS Code:
{
"version": "0.2.0",
"configurations": [
{
"name": "Listen for Xdebug",
"type": "php",
"request": "launch",
"port": 9003,
"pathMappings": { "/var/www/html": "${workspaceFolder}" }
}
]
}
4. دیباگ فراخوانیهای API از React
کد React برای فراخوانی API:
fetch('/api/users')
.then(response => response.json())
.then(data => console.log(data));
کد PHP:
if ($_SERVER['REQUEST_METHOD'] === 'GET') {
$users = ["Alice", "Bob", "Charlie"];
echo json_encode($users);
}
5. دیباگ کدهای فرانتاند React
برای دیباگ فرانتاند، از افزونه React Developer Tools استفاده کنید:
- افزونه React Developer Tools را برای مرورگر Chrome یا Firefox نصب کنید.
- کامپوننتها و حالتهای آنها را بررسی کنید.
- از ابزارهای مرورگر برای بررسی درخواستها و پاسخهای شبکه استفاده کنید.
نتیجهگیری
استفاده از Xdebug با PHP و React یک روش قدرتمند برای دیباگ برنامههای فولاستک فراهم میکند. با Xdebug در بکاند و ابزارهای React در فرانتاند، میتوانید سریعتر مشکلات را شناسایی و رفع کنید. این راهنما را دنبال کنید تا فرآیند توسعه و دیباگ خود را سادهتر کنید.