خطاهای سری ۵۰۰ خطاهای سمت سرور (Server-Side Errors) هستند که مانع از بارگذاری وبسایت میشوند. ارورهای 500 Internal Server Error و 502 Bad Gateway از متداولترین مشکلاتی هستند که وبمسترها با آنها روبرو میشوند. در این راهنما به صورت ریشهای نحوه ردیابی و حل فوری این خطاها را بررسی میکنیم.
۱. بررسی لاگهای خطا (Error Logs)
اولین گام برای کشف علت خطای ۵۰۰، بررسی فایل لاگ است. در سرورهای لینوکس مسیرهای زیر را بررسی کنید:
sudo tail -n 50 /var/log/nginx/error.log sudo tail -n 50 /var/log/apache2/error.log sudo tail -n 50 /var/log/php8.2-fpm.log
۲. مهمترین دلایل خطای 500 و راهکارهای حل آن
الف) خطای حافظه مجاز PHP (Memory Limit Exhaustion)
اگر لاگ خطای Allowed memory size of ... bytes exhausted را نشان داد، مقدار حافظه را در فایل php.ini یا فایل wp-config.php افزایش دهید:
memory_limit = 512M
ب) خطای نگارشی در فایل .htaccess
یک دستور اشتباه در .htaccess کل وبسرور را مختل میکند. موقتاً نام فایل را به .htaccess_backup تغییر دهید و سایت را مجدداً باز کنید.
ج) تداخل افزونهها و پوستهها در وردپرس
پوشه wp-content/plugins را به wp-content/plugins_old تغییر نام دهید تا تمام افزونهها غیرفعال شوند؛ سپس افزونهها را تکتک فعال کنید تا افزونه مخرب شناسایی شود.
۳. ریشهیابی خطای 502 Bad Gateway
خطای ۵۰۲ به این معناست که وبسرور فرانت (مانند Nginx یا LiteSpeed) پاسخی از مفسر PHP-FPM یا داکر بکاند دریافت نکرده است:
sudo systemctl status php8.2-fpm sudo systemctl restart php8.2-fpm