خطاهای در وردرپس، در مقایسه باHTTP error codes و status codes بدترین مورد هستند. آنها اطلاعات دقیقی درباره ی مشکل نشان ارائه نمی دهند و به ندرت خطاهای واقعی سرور هستند(معمولا سرور درست عمل می کند).
در این مقاله، سعی می کنم راجع به این خطای وردپرس و نحوه رفع آن توضیح دهم.
Table of Contents
خطای Internal server error 500 چیست؟
توضیحات وب پیرامون این خطا واضح نیستند. اساسا، شاخص دقیقی وجود ندارد که به مشکل اصلی و علت خطا اشاره کند. تنها نکته قطعی که وجود دارد این است که خطا بعلت عملکرد غلط بخشی از وبسایت ایجاد می شود. معمولا، در وردپرس، این می تواند بدان معنا باشد که یک اسکریپت، که بخشی از تم یا یک پلاگین است، کاری غیرمجاز انجام داده؛ و حالا سرورشما آسیب دیده است.
نگران نباشید؛ راه حل هایی وجود دارد…
همچنین بخوانید: افزونه های بک آپ گرفتن از وردپرس
اکثر اوقات،ِ می توانید در شش مرحله این خطا را برطرف کنید:
-
Debugging (سیستم اشکال زدایی) را روشن کنید
هرگاه وردپرس شما را به یک صفحه سفید(مرگ) یاwhite screen of death هدایت کرد، من پیشنهاد میکنم debugging را فعال کنید. هرچند ممکن است مشکل را برطرف نکند اما می تواند راجع به روند اتفاقی که افتاده، اطلاعاتی در اختیار شما قراردهد. فعال کردن Debugging را می توانید با ویرایش پرونده یwp-config.php سایت انجام دهید. وقتی وارد این پرونده شدید،WP_DEBUG را جستجو کنید. اگر پیدا شد، باید بتوانید گزینه “true” را انتخاب کنید. اگر مشاهده نشد، باید خودتان آن را ایجاد کنید. در نهایت باید چنین خطی داشته باشید:
define( “WP_DEBUG”, true );
بعد از ذخیره کردن فایل دوباره سایتتان را بارگذاری کنید. اگر خوش شانس باشید، خطای سرور از بین می رود و با خطای دیگری جایگزین خواهد شد. که در واقع به شما میگوید مشکل وبسایت شما از کجاست.
اگر چنین بود، نگاهی به محل قرار گیری خطا بیندازید و اگر در یک پوشه افزونه باشد. آن افزونه را غیرفعال کنید. خطا برطرف شود.
حتی اگر حالت دیباگ هم خطای درستی را نمایش نمیدهد، آن را غیر فعال نکنید. و بهتر است روشن باشد تا زمانی که مشکل را حل کنید. این حالت به شما کمک میکند که درک بهتری از خطا های به وجود آمده سایت داشته باشید. بعد از حل مشکل یادتان نرود که خاموش کنید.
-
تمام افزونه ها را غیر فعال کنید و قالب را تغییر دهید.
اگر به داشبورد وردپرس خود دسترسی دارید، تمام افزونه های سایت را غیرفعال کنید. و ببینید که چه اتفاقی میافتد. اگر ارور سرور شما از بین رفت. شروع به فعال کردن تک تک افزونه ها بکنید و سایت را چک کنید مشکل از هر کدام بود، آن افزونه را حذف کنید و اگر هم برایتان ممکن نیست با افزونه دیگری جایگزین کنید.
شما همچنین میتوانید قالب وردپرس خود را به یک قالب پیشفرض نیز تغییر دهید. مثل Twenty Fifteen یا Twenty Sixteen. اگر سایت شما بدون مشکل اجرا شد. پس باید به فکر عوض کردن قالب و یا تغییراتی در آن شوید.
در تجربه ای که از ارور سرور داخلی 500 به داست آورده ایم. بیشتر دلایل این ارور پلاگین ها هستند.
-
چک کردن فایل .htaccess
فایل .htaccess در صورت وجود، دارای یک سری قوانین است که به سرور میگوید در شرایط خاص چه کاری را انجام دهد. این فایل معمولا برای بازنویسی url ها میشود.
از طریق پنل مدیریت هاست و یا نرم افزار ftp یک نسخه پشتیبان از فایل .htaccess تهیه کنید و کل فایل و یا محتوای آن را حذف کنید. این کار ممکن است یک سری از قوانینی که برای وبسایت ایجاد کرده بودید از بین برود.(حتما از قبل یک بکاپ از فایل خود بگیرید و با خیال راحت این کار را انجام دهید.) اگر ارور سرور داخلی 500 به دلیل اشتباه در فایل .htaccess باشد. این کار به شما اطلاع خواهد داد.
اگر ارور 500 از فایل .htaccess باشد شما دیگر این ارور را نخواهید دید. برای اینکه بدانید کدام دستور در این فایل برای شما مشکل ساز شده است خط به خط کدها را اضافه کنید. و سایت را تست کنید. تا علت را پیدا کنید.
همچنین بخوانید: چطور سایت وردپرس را به دامنه دیگر یا دامنه جدید منتفل کنیم؟
-
افزایش حافظه
من هرگز با این مسئله رو به رو نشده ام، اما شنیده ام که افزایش حجم حافظه می تواند مفید باشد. احتمالا این مسئله در حافظه های اشتراکی به وجود بیاید.
برای اینکار وارد پوشه ریشه وردپرس شوید و فایل wp-config.php را باز کنید. و عبارت WP_MEMORY_LIMIT را جستجو کنید. در صورت وجود این عبارت مقدار آن را به “64” M تغییر دهید. اگر هم چنین عبارتی نبود خط زیر را وارد کنید.
;define(‘WP_MEMORY_LIMIT’, ’64M’)
اگر روش جواب داد. شما مشکل را به صورت موقت حل کرده اید. که احتمال میرود شما در جایی از سایت کد نادرستی دارید.(ممکن است از یک افزونه باشد). که منابع شما را میگیرد. اگر هاست شما دسترسی به مانیتورینگ منابع دارد. با خاموش و روشن کردن افزونه های مختلف میزان استفاده از منابع را بررسی کنید. تا بدانید کدام افزونه حافظه شما را اشغال میکند.
همچنین بخوانید: طراحی سایت شرکتی
-
تماس با شرکت میزبانی
موارد دیگری هم هست که باید بررسی کنید. ولی بهتر است که با شرکت میزبانی وبسایت خود تماس بگیرید. که آنها میتوانند موارد دسترسی شما را بررسی کنند.
یا شاید بهتر باشید میزبانی خود را عوض بکنید و از شرکت دیگری درخواست میزبانی کنید. و نیازی به هزینه زیاد هم نیست. و میتوانید از میزبانی استفاده کنید که برای وردپرس بهینه باشد. میزبان هایی وجود دارند که با دریافت 0.8 دلار درماه تجربه وردپرسی خوبی برایتان می سازند.
-
نصب دوباره وردپرس
فکر نمی کنم این مورد شما را در حل خطای 500 کمک کند. ولی موارد مهمی در نصب مجدد وردپرس وجود دارد که به شما کمک میکند. حتی می تواند مشکلات اجازه(permission) را هم برطرف کنند.
همچنین بخوانید: طراحی سایت در مشهد
خلاصه
خطاهای داخلی سرور در وردپرس معمولا بعلت مشکلات واقعی سرور ایجاد نمی شوند. اکثراوقات، می توانند از طریق روش هایی که گفتیم برطرف شوند. اگر تردید داشتید حتما با میزبانی/هاست تماس بگیرید، آنها ابزارهای پیچیده تری برای حل مشکل در اختیار دارند.
پیشنهاد من این است که برای حل مشکل internal server error حتما دیباگ وردپرس را فعال کنید. افزونه ها و قالب ها را تست کنید چون هر کارشناسی قبل از هر کاری این سوال را شما خواهد کرد. و یا هم خودش این کار را انجام خواهد داد.