خطای داخلی سرور یا Internal Server Error (کد وضعیت HTTP 500) یکی از رایجترین خطاهایی است که در هنگام استفاده از وبسایتها و یا سرورهای وب مشاهده میشود. این خطا به طور کلی نشاندهنده این است که سرور نمیتواند درخواست مرورگر را پردازش کند و معمولا از مشکلات داخلی سرور یا پیکربندیهای اشتباه ناشی میشود.
دلایل بروز خطای داخلی سرور
- مشکلات مربوط به فایل .htaccess: پیکربندی نادرست در این فایل ممکن است باعث اختلال در سرور و بروز خطای 500 شود.
- سطوح دسترسی اشتباه فایلها: اگر فایلها یا پوشههای خاصی در سرور دارای سطوح دسترسی نادرستی باشند، سرور ممکن است به آنها دسترسی پیدا نکند و خطای داخلی رخ دهد.
- مشکلات افزونهها یا قالبها: افزونهها یا قالبهای نصبشده ممکن است بهدرستی با نسخه فعلی وردپرس یا سرور شما سازگار نباشند.
- حافظهی ناکافی PHP: در صورتی که درخواستها نیاز به مقدار حافظهی بیشتر از محدودیت تخصیصیافته برای PHP داشته باشند، خطای داخلی رخ میدهد.
- اشکالات اسکریپتهای PHP: خطاها و اشکالات در کدهای PHP ممکن است پردازش درخواست را متوقف کرده و خطای داخلی سرور را ایجاد کنند.
- مشکلات سرور یا هاستینگ: گاهی ممکن است مشکل از سمت سرویسدهنده هاستینگ باشد که با تماس با پشتیبانی هاست رفع میشود.
روشهای رفع خطای داخلی سرور
1. بررسی و بازسازی فایل .htaccess
وارد File Manager یا FTP شوید و فایل .htaccess را در پوشه اصلی سایت (معمولا پوشه public_html) پیدا کنید.
این فایل را تغییر نام دهید (به طور مثال: .htaccess_old) و سپس سایت را بررسی کنید. اگر مشکل رفع شد، خطا از فایل .htaccess بوده است. اگر مشکل رفع شد، به داشبورد وردپرس بروید و از بخش تنظیمات > پیوندهای یکتا دوباره تنظیمات پیوندها را ذخیره کنید تا فایل جدید .htaccess ساخته شود.
2. افزایش حافظه PHP
به فایل wp-config.php در پوشه اصلی وردپرس دسترسی پیدا کنید.
کد زیر را به فایل اضافه کنید تا حافظه PHP افزایش یابد:
define(‘WP_MEMORY_LIMIT’, ‘1024M’);
سایت را بررسی کنید تا ببینید آیا مشکل رفع شده است یا خیر.
3. غیرفعالسازی افزونهها
از داشبورد وردپرس به بخش افزونهها بروید و همه افزونهها را غیرفعال کنید.
سایت را بررسی کنید. اگر مشکل رفع شد، یکی یکی افزونهها را فعال کنید تا افزونه مشکلدار را شناسایی کنید.
پس از شناسایی، آن افزونه را حذف یا با نسخه سازگار دیگری جایگزین کنید.
4. تغییر قالب سایت به قالب پیشفرض
در داشبورد وردپرس به بخش نمایش > پوستهها بروید و قالب خود را به یک قالب پیشفرض وردپرس (مانند Twenty Twenty-One) تغییر دهید.
اگر مشکل رفع شد، ممکن است قالب شما ناسازگاری یا مشکلی داشته باشد و نیاز به بهروزرسانی یا جایگزینی باشد.
5. بررسی سطح دسترسی فایلها و پوشهها
دسترسی پوشهها باید 755 و فایلها باید 644 باشد.
با استفاده از File Manager یا FTP میتوانید سطح دسترسیها را بررسی و اصلاح کنید.
6. بررسی خطاها در فایل error_log
در پوشه اصلی سایت(public_html) یا در پوشه wp-admin، فایل error_log را بررسی کنید. این فایل شامل جزئیات خطاهایی است که ممکن است باعث بروز خطای داخلی سرور شوند.
با استفاده از اطلاعات موجود در این فایل، میتوانید مشکل را تشخیص داده و رفع کنید.
7. بهروزرسانی PHP
نسخه PHP را به نسخه جدیدتری ارتقا دهید. نسخههای قدیمی PHP ممکن است باعث بروز مشکلات ناسازگاری شوند. برای مثال اگر نسخه فعلی ۷.۴ هست، آن را به۸.۲ تغییر دهید و چک کنید.
از طریق پنل هاستینگ خود (مانند سیپنل یا دایرکتادمین) میتوانید نسخه PHP را تغییر دهید.[ببینید چگونه میتوانید نسخه PHP هاست خود را تغییر دهید]
8. تماس با پشتیبانی هاست
اگر تمامی راهکارهای بالا را امتحان کردید و مشکل همچنان وجود داشت، ممکن است مشکل از سمت سرور هاستینگ باشد. در این صورت، میتوانید با پشتیبانی هاستینگ تماس بگیرید و از آنها کمک بخواهید.
نتیجهگیری
خطای داخلی سرور یک خطای رایج ولی قابلرفع است. با دنبال کردن مراحل بالا، شما میتوانید بسیاری از مشکلات مرتبط با این خطا را شناسایی و برطرف کنید.