خطای 500 یا همان internal server error ازجمله خطاهای رایج در وردپرس است که دلایل مختلفی دارد. راهحل خطای 500 به این دلیل که در این خطا شرحی به شما ارائه نمیشود، سختتر پیدا میشود و اگر ازلحاظ فنی کمتجربه باشید کمی اذیتتان میکند. در این مقاله به شما آموزش میدهیم که چگونه خطای 500 internal server error را در وردپرس رفع کنید.
چه چیزی باعث وقوع خطای Internal Server Error میشود؟
بایستی حضورتان عرض کنم که خطای 500 تنها مختص وردپرس نیست و میتواند برای هر وبسایت با هر سیستمی رخ دهد. اما با توجه به ماهیت این خطا، هیچ نوع اطلاعات اضافهای در رابطه با علت وقوعش، در اختیار توسعهدهنده قرار نمیدهد.
اینکه بپرسید چطور خطای 500 internal server error را رفع کنم مشابه این است که بدون گفتن محلی که درد میکند، از دکتر بخواهید درد شما را تسکین دهد.
Internal server error در وردپرس اغلب بهوسیله وجود برخی مشکلات در توابع استفادهشده در قالبها یا پلاگین هایتان به وجود میآید. دلایل احتمالی دیگر برای وقوع خطای 500 در وردپرس را میتوان وجود مشکل در فایل .htaccess و محدودیت حافظهی در اختیار PHP دانست.
بررسی فایل .htaccess خرابشده
اولین کاری در جهت رفع اررور 500 بایستی انجام دهید چک کردن فایل .htaccess است.
انجام این کار بسیار ساده است چراکه میتوانید با تغییر نام دادن این فایل از .htaccess به مثلاً .htaccess_old این کار را انجام دهید، برای انجام این کار کافیست به محل قرارگیری فایلهای سایتتان روی سرور بروید، همچنین انجام این کار از طریق FTP قابل انجام است.
در تصویر زیر اتصال FTP را مشاهده میکنید که فایل .htaccess در کنار پوشههایی چون wp-content, wp-admin و wp-includes قرارگرفته است:
بهمحض اینکه نام فایل .htaccess را تغییر دادید، سعی کنید سایتتان را در مرورگر بازکنید و حل شدن مشکل را بررسی کنید. اگر حلشده بود که خسته نباشید! اگر هم که نه، سایر روشهایی که عنوان میشود را دنبال کنید.
دقت داشته باشید قبل از اینکه به سراغ سایر چیزها بروید، حتماً سری به تنظیمات وردپرس و پیوندهای یکتا در آن بزنید؛ کافیست بدون انجام هیچ تغییراتی روی دکمه ذخیره کلیک کنید. این کار باعث میشود فایل .htaccess جدید با دستورات ریدایرکت مناسب سایتتان ایجاد میشود و از گرفتن خطای 404 در امان خواهید بود.
افزایش محدودیت حافظه PHP
از دلایل شایع دیگر وقوع خطای internal server error این است که حافظه PHP خیلی محدود است و نمیتواند عملیاتهای لازم را به پایان برساند. در مقاله دیگری تحت عنوان چگونه PHP memory limit را در وردپرس افزایش دهیم آموزش دادهایم که مشکل چطور محدودیت حافظه در وردپرس را حل کنید، آن را خوانده و انجامش دهید.
اگر خطای internal server error را زمانی میبینید که سعی در لاگین کردن یا آپلود کردن عکس در سایت وردپرس تان دارید، بایستی به شکل بنیادیتری مشکل حافظه PHP را حل کنید. گامهای زیر را دنبال کنید:
- یک فایل متنی جدید به نام ini در پوشه /wp-admin/ سایتتان ایجاد کنید
- کد memory=64MB را درون آن بنویسید
- فایل را ذخیره کنید
طبق تجربه ما، انجام این کار، حداقل مشکلات سمت پنل ادمین وردپرس را حل میکند.
دقت داشته باشید که اگر با افزایش محدودیت حافظه مشکل تان حل شد، این حل شدن مشکل کاملاً موقتی است. بایستی به دنبال راهحل بنیادیتری باشید و علت پر شدن حافظه را پیدا کنید.
همه پلاگین ها را غیرفعال کنید
اگر هیچکدام از راهحلهای ارائهشدهای که تا به اینجا عنوانشدهاند نتوانستند مشکل شما را حل کنند، شاید مشکل از جای دیگری است. ممکن است یک افزونه باعث بروز مشکل شده باشد و یا اینکه تداخل بین افزونهها مشکلآفرین شده باشد.
متأسفانه، برای حل مشکل به این روش، هیچ راهی نیست جز اینکه همه پلاگین ها را بهیکباره از حالت عملیاتی خارج کنید.
جهت انجام این کار دستورات گفتهشده در آموزش غیرفعال کردن تمامی افزونههای وردپرس بدون استفاده از wp-admin را دنبال کنید.
اگر غیرفعال کردن تمامی پلاگین ها مشکل تان را حل کرد میتوانید بفهمید که کدام افزونه باعث بروز خطا شده است.
برای انجام این کار کافیست بنل ادمین وردپرس تان رفته و وارد صفحه مدیریت افزونههای نصبشدهتان بروید و در آنجا سعی کنید یکییکی افزونهها را فعال کنید و بفهمید که کدام افزونه ایجاد مشکل کرده است و مشکل را به سازنده افزونه گزارش کنید.
فایلهای هسته اصلی وردپرس را مجدد آپلود کنید
اگر با همه تفاسیر، حتی غیرفعال کردن تمامی پلاگین ها هم در رفع خطای 500 internal server error کمکی نکرد، فکر میکنم بیارزد که هسته اصلی وردپرس تان را مجدد آپلود کنید چراکه ممکن است آسیبدیده باشند و این تنها راه برای رفع آن بدون وارد شدن آسیب به سایتتان است.
اصلاً نگران نباشید چراکه انجام این کار هیچ صدمهای به اطلاعات موجود روی سایتتان نخواهد زد و تنها فایلهای عملیاتی اصلی وردپرس تان با فایلهای مشابه اما جدید جایگزین میشوند.
برای انجام این کار کافیست تا آخرین نسخه وردپرس را دانلود و روی کامپیوترتان آن را Extract کنید.
قدم بعدی این است که بهوسیله File Manager یا FTP به هاست سایتتان وصل شده و به پوشه اصلی سایت که شامل wp-admin ، wp-includes و wp-content است بروید.
سپس تنها محتویات پوشههای wp-admin و wp-includes را آپلود کنید. قطعاً به شما اخطار داده میشود که این فایلها از قبل روی سرور موجود هستند و شما گزینهی جایگزین کردن یا همان overwrite را انتخاب کنید تا فایلهای جدید جایگزین فایلهای خراب احتمالی شوند.
از مدیر سرور/هاستینگ خود کمک بخواهید
اگر تمامی متدهای مطرحشده در این مقاله برایتان کارساز نبودند، برای ادامه کار نیاز به کمک مدیر سرور دارید. به شرکت یا شخصی که هاست را از آن خریداری کردهاید در این خصوص اطلاع دهید تا لاگ های سرور را جهت پیدا کردن مشکل بررسی کنند.
امیدواریم تمام آنچه در این مقاله آمده است برای حل مشکل internal server error در وردپرس به شما کمک کرده باشد.
اگر راهحلی را از قلم انداختهایم با درج دیدگاه به ما و سایر کاربران در حل مشکل خطای 500 کمک کنید.