همین الان که در حال مطالعه این مقاله هستید، حتما نگران خطای سایت وردپرسی خود هستید. نگران نباشید. به سادگی تمام خطاهای وردپرس رفع میشود. دقیقا مثل یک بازی فوتبال که قوانین دارد، دنیای وب هم از قوانین خاص خود پیروی میکنید. و برای درک بیشتر و بهتر خطاهایی که در دنیای دیجیتال وجود دارد، اعدادی در نظر گرفته میشود که هر عدد بیانگر خطایی خاص است.
بگذارید کمی عمیقتر وارد خطای سمت سرور 500 شویم. به صورت کلی در اینترنت کدهای خطای HTTP به صورت زیر دسته بندی میشود:
- 1xx پاسخ موقت
- 2xx پاسخ موفقیت آمیز
- 3xx تغییر مسیر
- 4xx ارور سمت کاربر یا کلاینت یا سایت
- 5xx ارور سمت سرور
همانطور که مشاهده میکنید، در تمام اینترنت (سایتها) هرموقع کد ارور با سرشمارههای بالا مشاهده کردید، میتوانید به سادگی بفهمید منظور چیست. برای کسب اطلاعات بیشتر میتوانید مقاله “فهرست کدهای وضعیت HTTP” را در ویکی پدیا مطالعه بفرمایید. در این مقاله ما میخواهیم خطای 500 در وردپرس یا Internal Server Error را بررسی کنیم.
چرا خطای Internal Server Error دارم؟
خطای 500 یا Internal Server در وردپرس به این معنا است که سرور در پردازش دچار مشکل شده است و نمیتوانید پردازش را ادامه دهد. توجه داشته باشید که خطای 500 قطع به یقین از سمت منابع سرور یا برنامه نویسی سایت شما است.
شاید این سوال برایتان پیش بیاید که چرا سرور فقط کد 500 را نمایش میدهد و در مورد خطا توضیح بیشتری نمیدهد؟ در پاسخ به این سوال باید بگوییم که معمولا برای جلوگیری از نفوذ هکرها خطاهای سمت سرور خیلی واضح نمایش داده نمیشود و این مسئله توسط مدیر سرور کنترل میشود. البته راهکارهایی وجود دارد که شما هم بتوانید تا حدی نمایش خطاها را مدیریت کنید.
در ادامه به ترتیب اولویت قدم به قدم باهم جلو میرویم تا خطای 500 در وردپرس را برطرف کنیم.
۱. نمایش خطاهای وردپرس را فعال کنید
این مرحله تقریبا برای رفع اکثر خطاهای وردپرس کار ساز است. هرموقع در سایت وردپرس خود به مشکلی خوردید اولین کار همین است. برای نمایش خطاهای وردپرس فقط کافی است به شاخه اصلی (پوشه روت) سایت وردپرس خود بروید و فایل wp-config.php
را ویرایش کنید. قطعه کد زیر اگر در این فایل وجود ندارد اضافه کنید. اگر هم وجود دارد باید آن را true
کنید.
define('WP_DEBUG_DISPLAY', true);
پس از اضافه کردن این خط به فایل مذکور مجددا سایت خود را مشاهده کنید، اگر توضیحاتی در مورد خطا وجود داشت باید آن خطا را رفع کنید. اگر وجود نداشت مرحله بعدی را انجام دهید :).
۲. بررسی فایل .htaccess
معمولا با انجام این قسمت مشکل خطای 500 رفع خواهد شد. در شاخه اصلی (پوشه روت) فایلی نام .htaccess
وجود دارد. توجه داشته باشید که اگر هاست سی پنل استفاده میکنید ممکن است این فایل مخفی باشد. برای نمایش آن در بالای صفحه سمت راست از طریق گزینه Setting
باید Show Hidden Files
را فعال کنید.
پس از پیدا کردن فایل مذکور، میتوانید آن را حذف کنید. اگر نمیخواهید حذف کنید همچنین میتوانید نام آن را تغییر دهید. مثلا نام آن را .htacees_old بگذارید. سپس وارد مدیریت سایت وردپرسی خود شوید و به قسمت تنظیمات > پیوندهای یکتا مراجعه کنید و یک بار آن صفحه را ذخیره کنید.
به احتمال خیلی زیاد باید مشکل شما رفع شده باشد. اگر مشکل رفع نشده است در ادامه با ما همراه باشید.
۳. بررسی افزونههای فعال در سایت خود
ممکن است این خطا به دلیل مشکلی در یک افزونه وجود دارد باشد. میتوانید وارد پوشه wp-content > plugins شوید و یک به یک نام پوشههای موجود را تغییر دهید. مثلا akismet را به akismet2 تغییر دهید. این کار را تک به تک روی افزونهها انجام دهید. (یک روش ساده تری هم وجود دارد که کلا نام پوشه plugins را تغییر دهید)
نکته مهم: اگر شما متوجه شدید که یک پلاگین مشکل دارد، حتما قسمت افزایش مموری وردپرس را که در ادامه توضیح میدهم را انجام دهید و مجددا چک کنید.
۴. فعال کردن قالب پیش فرض وردپرس
از طریق پنل مدیریت وردپرس خود وارد قسمت نمایش > پوستهها شوید. اگر قالب پیش فرض وردپرس وجود دارد آن را فعال کنید. اگر وجود نداشت میتوانید یکی از قالبهای پیش فرض وردپرس را نصب کنید. میتوانید آموزش نصب قالب وردپرس را مشاهده کنید.
اگر مشکل شما باز هم رفع نشد، مرحله بعد را انجام دهید.
۵. افزایش حافظه مموری PHP در وردپرس
شاید به دلیل فشار آوردن به محدودیت حافظه PHP در سرور به خطای 500 برخورد کرده باشید. برای افزایش مموری PHP دو راهکار وجود دارد که باهم بررسی میکنیم.
روش اول) قطعه کد زیر را به فایل wp-config.php
اضافه کنید.
define('WP_MEMORY_LIMIT', '512M');
روش دوم) بهتر است این کار را انجام دهید. در شاخه اصلی هاست خود یک فایل با نام php.ini
ایجاد کرده و کد زیر را در آن قرار دهید و آن را ذخیره کنید.
memory=64MB
اگر خطای 500 رفع شد به این معنی است که یک مسئلهای وجود دارد که به هاست شما فشار میاورد. حتما به شرکت هاست خود مشکل را توضیح دهید و از آنها بخواهید شما را راهنمایی کنند.
۶. به مسئول سرور مشکل را اطلاع دهید !
اگر تمام مراحل توضیح داده شده را به درستی انجام دادید و مشکل رفع نشد، باید به مسئول هاست خود بگویید تا آنها با توجه به گزارشات سرور مشکل شما را بررسی کنند.
اگر شما با کمک راه حلهای بالا توانستید مشکل را رفع کنید، لطفا در قسمت نظرات توضیح دهید که چگونه مشکلتان را رفع کردید. اگر با استفاده از یک راه حلی که در بالا توضیح داده نشده است توانستید مشکل خود را رفع کنید لطفا در دیدگاههای همین مقاله ما را مطلع کنید.