خطای ۵۰۰ چیست؟
خطای ۵۰۰ یکی از رایج ترین خطاهای سمت سرور (Server Side) میباشد که بنابر هر دلیل و مشکلی که از طرف سرورهای داخلی سایت وجود داشته باشد، نشان داده میشود. به عبارت ساده تر، سرور داخلی سایت نمیتواند درخواست شما را تکمیل کند و به دلایل گوناگون (ازجمله حفظ حریم اطلاع رسانی) خطای عمومی ۵۰۰ را به کاربر ارسال میکند. بنابراین میشود خطای ۵۰۰ را میتوان به نقابی بر روی سایر خطاهای داخلی سرور تشبیه کرد.
برای درک بهتر این خطا فرض کنید که ماشینی دارید که موتور آن خراب شده است؛ بنابراین دلیل اصلی خراب بودن ماشین، موتور آن است. درحالی که شما ممکن است بنابه هر دلیلی از پرداختن به ریشه خطا خودداری کرده و صرفاً عبارت “خراب بودن” را استفاده کنید درحالی که این عبارت، یک عبارت عمومی است و میتواند دلایل بسیار گستردهای داشته باشد.
فرمت هایی که نشان دهنده بروز خطای 500 هستند:
500 Internal Server Error
HTTP 500 – Internal Server Error
(Temporary Error (500
Internal Server Error
HTTP 500 Internal Error
500 Error
HTTP Error 500
500. That’s an error
نحوه رفع خطای 500 :
» تغییر سطح دسترسی فایلها و پوشهها
زمانی که سطح دسترسی در فایلهای وردپرس تغییر میکند، دسترسی به فایلها و پوشهها برای گروهی از کاربران خاص در دسترس خواهد بود که هر یک از این گروهها نیز قابلیت خواندن و نوشتن(مشاهده و ویرایش) روی دایرکتوری یا فایل مورد نظر را خواهند داشت. پس اگر حالتی رخ دهد که برای گروهی از این کاربران دسترسی به فایل یا پوشه مورد نظر فراهم نباشد خطای ۵۰۰ رخ خواهد داد که برای رفع این مشکل کافی است سطح دسترسی فایلها در هاست را تغییر دهید.
وارد هاست خود شده و روی گزینه File Manager کلیک کنید. در مرحله بعد به مسیر Public_html رفته و در جایی که وردپرس را نصب کردهاید کلیه پوشهها و فایلهای اسکریپت وردپرس که معمولا با wp آغاز میشوند را بررسی کنید. در این بررسی شما باید ستون permission را بررسی کرده و اعدادی که برای هر فایل و پوشه قرار دارد را در صورت مغایرت داشتن اصلاح کنید.
همانطور که در تصویر مشاهده میکنید سطح دسترسی برای پوشهها روی ۷۵۵ و برای فایلها روی ۶۴۴ قرار دارد. همچنین دقت کنید که در این حالت لازم است که فایلهای داخل هر یک از این پوشهها را نیز بررسی کنید که روی حالت ۶۴۴ قرار داشته باشند. برای تغییر سطح دسترسی نیز کافی است روی فایل یا پوشه مورد نظر راست کلیک کرده و گزینه Change Permissions را انتخاب کنید.
سپس در پنجره باز شده مقادیر ذکر شده(۷۵۵ برای پوشهها و ۶۴۴ برای فایلها) را تنظیم کرده و روی دکمه Save کلیک کنید.
» خطا در فایل htaccess.
برای اطمینان از این حالت به File Manager هاست رفته و در مسیری از Public_html که وردپرس نصب شده است به دنبال فایلی با نام htaccess. بگردید. از آنجایی که که فایلهایی که نام آنها با نقطه آغاز میشود، مخفی هستند برای مشاهده این فایل در هاست سی پنل لازم است روی گزینه Settings که در بالای صفحه قرار دارد کلیک کرده و پس از انتخاب تیک گزینه Show Hidden Files (dotfiles) روی دکمه Save کلیک کنید.
پس از نمایش فایل روی آن راست کلیک کرده و پس از انتخاب گزینه Rename نام این فایل را به htaccess1. تغییر دهید. بعد از تغییر نام صفحهای که با خطای ۵۰۰ در آن مواجه شدید را باز کرده و رفرش کنید. اگر مشکل برطرف شده بود وارد تنظیمات> پیوندهای یکتا در پیشخوان وردپرس شده و روی دکمه ذخیره تغییرات کلیک کنید تا فایل htaccess. جدید ساخته شود.
» افزایش مقدار حافظه PHP هاست
در صورتی که با خطای HTTP ۵۰۰ Internal Server در صفحه ورود به وردپرس مواجه شدید این مشکل از سمت میزان حافظهای است که برای php در نظر گرفته شده است. برای رفع مشکل در این حالت وارد File Manager هاست شده و به مسیر public_html/wp-admin مراجعه کنید. حالا یک فایل جدید با نام PHP.ini در این پوشه ساخته و کد زیر را داخل فایل قرار دهید.
memory=64MB
اگر به این روش موفق به افزایش حافظه نشدید میتوانید کد زیر را داخل فایل wp-config.php که در مسیر نصب وردپرس است قرار دهید.
define(‘WP_MEMORY_LIMIT’, ’64M’);
اگر به این روش هم موفق به اضافه کردن حافظه php هاست در وردپرس نشدید کد زیر را در انتهای فایل htaccess. قرار دهید.
php_value memory_limit 128M در صورتی که با استفاده از این روش هم موفق به افزایش حافظه php وردپرس نشدید با میزبانی هاست خود تماس گرفته و درخواست کنید که این کار از سمت میزبانی هاست برای شما انجام گیرد.
» غیرفعال کردن کلیه افزونههای وردپرس
در چنین حالتی برای اینکه افزونه مخرب را شناسایی کنید این است که اگر خطا بعد از فعال کردن یا آپدیت افزونه خاصی که اخیرا نصب یا آپدیت کردید رخ داده است را غیر فعال کنید. اما اگر چنین حالتی نیست باید کلیه افزونهها در وردپرس را غیرفعال کرده و با هر بار فعال کردن تک تک افزونهها سایت را بررسی کرده و ببینید مشکل ۵۰۰ با فعال کردن کدام افزونه رخ خواهد داد.
در صورتی که به پیشخوان وردپرس دسترسی دارید کافی است کلیه افزونهها را انتخاب کرده و غیرفعال کنید. اما در غیر این صورت میتوانید وارد پوشه wp-content هاست خود شده و نام پوشه plugins را به نام دیگری مانند plugins1 تغییر دهید. بعد از تغییر نام(کلیک روی دکمه ذخیره) کلیه افزونهها غیرفعال میشوند. در این مرحله سایت را بررسی کنید، اگر مشکل برطرف شده باشد خطای ۵۰۰ وردپرس از سمت افزونهها است.
حال مجددا نام پوشه plugins را به همان حالت اصلی برگردانید و برای شناسایی افزونه مخرب، یک بار صفحهای که با خطای ۵۰۰ وردپرس مواجه شدید را بررسی کنید. بعد از اینکه با فعال کردن یک افزونه خطا رخ داد، افزونه مخرب شناسایی میشود که میتوانید آن را غیرفعال کرده و مشکل افزونه را برطرف کنید یا اینکه از افزونه جایگزین استفاده کنید.
امیدوارم که راهکارهای معرفی شده در این مقاله مورد توجه و پسند شما قرار گرفته باشد و به کمک آنها بتوانید خطای ۵۰۰ و ارور internal server error 500 را در سایت خود برطرف کنید.
دلیل روبرو شدن با خطای ۵۰۰:
دلیل بوجود آمدن این خطا، همانطور که گفته شد، به صورت کامل مشخص نمیشود. سرور میتواند دارای خطاهایی از جمله خطای ۵۰۲، ۵۰۱ و … باشد اما بنابه هر دلیلی نمیخواهد که کاربر از دلیل اصلی خطا آگاه شود. در این صورت خطای ۵۰۰ به کاربر فرستاده میشود. از جمله سایر دلایلی که ممکن است خطای ۵۰۰ بجای خطای اصلی نشان داده شود عبارت اند از:
ممکن است فایل htaccess موجود بر روی سایت دارای syntax اشتباهی باشد.
ممکن است در قسمتی از کدهای سمت سرور (مثلا در کدهای PHP)، بنابه دلایلی ازجمله وجود حلقههای نامتناهی، درخواست Time out شود.
البته تکنسینهای سرور با دنبال کردن Logهای ثبت شده، میتوانند منبع اصلی خطا را پیدا کردن و آن را برطرف کنند.
درصورتی که شما بازدیدکننده یا کاربر این وبسایت یا سرور باشید به دلیل آن که این خطا از سمت سرور است، کاری نمیتوانید برای برطرف کردن آن انجام دهید اما موارد هستند که به حل شدن این مشکل و دسترسی به محتوای آن صفحه کمک میکنند. در مرحله اول این خطا را به مدیر سایت گزارش دهید. همانطور که گفته شد، درصورتی که مشکل از طرف سرور باشد، باید تا رفع این خطا صبر کنید.
درصورتی که به محتوای آن صفحه نیاز دارید میتوانید از نسخه کش شده آن استفاده کنید. برخی از سرویسهای اینترنتی صفحات وبسایت را به صورت کش ذخیره کرده و به کاربران نشان میدهند. برای مشاهده آموزش و توضیحات بیشتر به پست “مشاهده نسخه پیشین یک صفحه یا وبسایت” مراجعه کنید.
کش مرورگر خود را پاک کنید زیرا ممکن است این مشکل صفحه مورد نظر حل شده باشد ولی محتوای صفحه خطا همچنان به کاربر نشان داده شود