ارور 500 internal server error و نحوه رفع خطای 500 وردپرس
یکی دیگر از عمده خطاهای رایجی که در سایتها و برنامهها رخ میدهد وضعیت 500 است که معمولا پیغام آن به صورت ارور 500 internal server error یا HTTP ERROR 500 است. این خا در سیستمهای مختلفی وجود دارد و همانطور که در سایر مقالات رفع خطا عنوان کردم، در گروه خطاهای 5XX قرار میگیرد ه مربوط به سرور سایت هستند. حال این خطا میتواند به دلیل تغییرات در سرور و کانفیگ آن رخ داده باشد یا اینکه اختلال در برنامه نویسی ایجاد شده و اختلال در کدها باعث این ناهماهنگی شده است. در موارد بسیار کمی هم علت خطا به سیستم کاربر برمیگردد که کش شده است.
این خطا به هر شکلی و در هر جایی که رخ داده باشد مهم است که در کوتاهترین زمان ممکن آن را برطرف کنید؛ خصوصا اگر خطا مربوط به سایت است. همانطور که در مقاله رفع خطاهای coverage issue گوگل سرچ کنسول بررسی کردیم، اولین خطایی که بیشتر در سایت رخ داده و از همه برای موتورهای جستجو میتواند رایج باشد ارور 500 در سرچ کنسول است. دلیل اهمیت این موضوع اینجاست که دسترسی موتورهای جستجو به سایت از بین رفت و قادر نیستند که محتوا را بخاطر خطا بررسی کنند. تکرار این مشکل و از طرف دیگر طولانی شدن زمان رفع هر خطا نهایتا موجب میشود رتبههای خود را به شدت از دست بدهید.
حالا در ادامه این مقاله میخواهم به بررسی چیستی این خطا پرداخته و ببینیم که چطور میتوان این ارور HTTP 500 را در سیستمها و نرمافزارهای مختلف برطرف کرد. احتمالا این مشکل برای شما هم رخ داده که حالا در تلاش هستید هرچه زودتر آن را رفع کنید؛ بنابراین تا انتها با من همراه باشید.
ارور 500 یا خطای 500 internal server error چیست؟
اگر از عدد 500 این خطا فاکتور بگیریم و به همان سه کلمهی INTERNAL SERVER ERROR دقت کنیم، مشخصا ترجمه آن چیزی نیست جز اینکه یک خطای داخلی در سرور رخ داده است. حالا همانطور که اشاره کردم این خطا میتواند از خود سرور باشد یا اینکه از کدنویسی سایت ما که تداخلی در آنها ایجاد شده و در نهایت باعث شده تا سرور در دسترس نباشد.
وقتی چنین خطایی رخ میدهد بسته به اینکه پیغام نمایش خطا شخصی سازی شده باشد یا اینکه اصلا در چه سیستمی رخ داده باشد پیغامهای مختلفی وجود دارد. اما آنچه بیش از هر چیز نشان دهنده این خطاست عدد 500 است که در همه پیغامهای خطا وجود دارد. این عدد مشخص کننده وضعیت HTTP است که درخواستی به سرور ارسال شده، اما چون سرور با خطا مواجه شده نتیجهای جز همین خطا نداریم. پیغامهای خطا هم به شکل زیر هستند.
500 Error HTTP Error 500 500. That's an error Internal Server Error HTTP 500 Internal Error 500 Internal Server Error HTTP 500 - Internal Server Error
بسته به اینکه خطا در چه سیستمی رخ داده باشد هم با تصاویر گوناگونی مواجه هستیم. معمولا سایتهای بزرگی مثل گیت هاب و گیت لب پیغام نمایش این خطا را شخصی سازی کرده و از تصاویر و حالت بصری بهتری استفاده میکنند. اما در هاستهای اشتراکی صرفا یک فایل HTML ساده برای نمایش خطا در نظر گرفته شده که به شکل زیر آن را در مرورگر میبینیم.
البته شما هم میتوانید به دلخواه خود پیغام نمایش خطا را از طریق هاست شخصی سازی کنید که در مقالات دیگر بررسی خواهیم کرد.
چطور خطای HTTP ERROR 500 را برطرف کنیم؟
اینکه خطا در چه حالتی رخ داده باشد موضوعی است که باید ابتدا آن را بررسی کرد تا برای رفع آن راهکارهای لازم را انجام دهید. گاهی اوقات خطا مربوط به برنامهها و نرمافزارهای آنلاین است که شاید بررسی اینترنت و سیستم کامپیوتری ما تنها راه چاره باشد. اما برخی مواقع این ما هستیم که مدیریت سایتی را برعهده داریم و خطا در سایت ما رخ داده که باید با توجه به میزان دسترسی که به سرور و سایت داریم روشهای رفع ارور را یکی یکی و با حوصله تست کنیم.
قبل از هرچیزی ارتباط خود را بررسی کنید
شاید اصلا مشکل ارتباطی به سور و برنامه نویسی نداشته باشد. قبلا شما از سایتی بازدید کردید که خطا داشته و حالا از همان موقع به صورت کش شده در سیستم شما پیغام خطا وجود دارد. برای اطمینان از اینکه آیا خطا رخ داده یا نه، یک بار حتما کش مرورگر خود را پاک کنید. گاهی اوقات نیز کش به درستی پاک نمیشود که برای اطمینان بیشتر میتوانید از مرورگر دیگری استفاده کنید.
در برخی مواقع هم تغییراتی در زیرساخت صورت میگیرد که دسترسی به برخی سایتها با خطا مواجه میشود. برای اینکه مطمئن شوید موضوع از اینجا نیست میتوانید یک بار مودم خود را برای دقایقی خاموش کنید.
رفع خطای HTTP 500 Internal Error در وردپرس
اگر مدیریت سایت وردپرسی را برعهده دارید و با ارور 500 وردپرس مواجه شدید در ادامه به معرفی ۷ راهکار برای برطرف کردن این خطا در وردپرس میپردازیم.
سطح دسترسی فایلها را بررسی کنید
همانطور که اشاره کردیم وقتی خطایی در کدهای برنامه نویسی یا کانفیگ سرور رخ داده باشد، خطای 500 در سایت رخ میدهد؛ قرار هم نیست که همیشه خطا مربوط به نوشتن کدهای برنامه نویسی باشد. پس روشن است که تغییرات در میزان سطح دسترسی میتواند باعث بروز خطای internal server error 500 در سایت وردپرسی یا هر سیستم سایت ساز دیگری باشد.
وقتی که اقدام به آپدیت افزونه در وردپرس، آپدیت قالب یا آپدیت خود وردپرس میکنید کل فایلهایی که از قبل وجود داشته دریافت شده و جایگزین فایلهای فعلی میشود. از آنسو هم فایلهای جدیدی که برای امکانات جدیدتر در نظر گرفته شده در پوشه خود جای خواهد گرفت. حال ممکن است توسعه دهنده فراموش کرده باشد که سطح دسترسی درستی برای این فایلها انتخاب کند. همین سطح پایین باعث میشود ارتباط کدها و دیتابیس به خوبی برقرار نشده و این مشکلات هم رخ دهند.
برای انجام این کار کافی است وارد هاست خود شده و به مسیر public_html در منوی file manager هاست وارد شوید. در این مسیر پوشهها و فایلهایی را مشابه تصویر زیر میبینید که هر کدام در ستون permissions دارای یک عدد ۴ رقمی هستند که با صفر آغاز شده است. این اعداد سطح دسترسی را برای کاربر، گروهی از افراد و حالت عمومی مشخص میکنند.
در صورتی که از وردپرس استفاده میکنید این اعداد باید برای پوشهها روی مقدار 0755 و برای فایلهای php وردپرس روی 0644 قرار داشته باشند. پس تک تک فایلهایی که در مسیر اصلی public_html برای وردپرس قرار دارد و همچنین فایلهایی که داخل پوشههای wp-content، wp-admin و wp-includes میبینید را باید بررسی کرده و سطح دسترسی را با انتخاب گزینه change permissions به مقدار درست آن تغییر دهید.
همانطور که در تصویر بالا میبینید کافی است با فعال یا غیر فعال کردن تیک گزینههایی که در هر ستون و ردیف قسمت زرد رنگ قرار دارد، به عدد نهایی که در مقابل permission نمایش داده میشود نگاه کنید و عدد درست را برای فایلها اعمال کنید.
فایل htaccess. را مجددا بسازید
فایل htaccess. در هاست تنظیماتی را در اختیار ما قرار میدهد که به کمک آن میتوانیم کارهای مختلفی مثل ریدایرکت، محدودیت در دسترسی به سایت و… را اعمال کنیم. گاهی اوقات با نصب افزونه این فایل دستخوش تغییراتی میشود که میتواند اجازه برای اجرای کدها را تغییر دهد. برای رفع مشکل کافی است مجددا این فایل را بسازید.
برای این منظور ابتدا وارد هاست سی پنل خود شده و سپس به مسیر public_html در بخش file manager مراجعه کنید. سپس از منوی SETTINGS که در بالای صفحه قرار دارد، گزینه SHOW HIDDEN FILES را فعال کنید تا این فایل نمایش داده شود. حال به کمک گزینه RENAME نام آن را به چیز دیگری مثل htaccess-old. تغییر دهید.
اگر به پیشخوان وردپرس دسترسی دارید، به منوی تنظیمات> پیوندهای یکتا رفته و بدون ایجاد هیچگونه تغییری فقط روی دکمه ذخیرهی تغییرات کلیک کنید.
با انجام این کار مجددا فایل ساخته شده و اگر مشکل از اینجا باشد میبینید که ارور 500 در وردپرس برطرف شده است.
افزایش حافظه PHP برای هاست اشتراکی
اگر از هاست اشتراکی استفاده میکنید ممکن است بخاطر حجم پایینی که حافظه PHP دارد با این خطا روبهرو شوید. در نین شرایطی میتوانید مقدار حافظه php در وردپرس را افزایش دهید تا مشکل رفع شود. چند راهکار وجود دارد که میتوانید از اینها استفاده کنید.
روش اول: افزایش با فایل functions.php قالب
برای این منظور کافی است کدهای زیر را به فایل فانکشن قالبی که روی سایت فعال بوده و در مسیر wp-content/themes/folder قرار دارد اضافه کنید.
@ini_set('upload_max_size' , '128M'); @ini_set('post_max_size', '128M'); @ini_set('max_execution_time', '300');
روش دوم: افزایش حافظه php با فایل htaccess.
برای این منظور کافی است کدهای زیر را به انتهای این فایل که در مسیر public_html قرار دارد اضافه کنید.
php_value upload_max_filesize 64M php_value post_max_size 64M
روش سوم: افزایش حافظه php با فایل wp-config.php
وارد مسیری که وردپرس در public_html نصب کردید شده و به دنبال فایلی به نام wp-config.php بگردید. سپس کدهای زیر را در این فایل قرار دهید.
define('WP_MEMORY_LIMIT', '128M'); ini_set('post_max_size', '128M'); ini_set('upload_max_filesize', '128M');
افزونههای سایت را بررسی کنید
خطاهای برنامه نویسی میتوانند از سمت افزونهها نیز رخ دهند که گاهی اوقات این مشکل درست بعد از آپدیت یا نصب افزونه جدید هم رخ میدهد. اگر به تازگی افزونهای را نصب یا آپدیت کردید که خب وضعیت مشخص است و میدانید کدام افزونه باعث ارور 500 در وردپرس شده است. اما در غیر این صورت باید همه افزونهها را غیرفعال کنید. سپس با فعال کردن هر افزونه یک بار سایت را باز کرده و ببینید که بعد از فعال کردن کدام افزونه خطا دوباره ایجاد میشود.
اگر هم با غیرفعال کردن همه افزونهها خطای server error 500 رفع نشد مشکل از افزونه نیست و باید سراغ راهکارهای بعدی رفت.
اگر با غیرفعال کردن افزونهها خطا رفع شده بود، حالا باید با فعال کردن یک به یک افزونهها در هر بار سایت را بررسی کرده و ببینید که خطا دقیقا با فعال کردن کدام افزونه رخ میدهد.برای این کار کافی است به منوی افزونهها در پیشخوان وردپرس رفته و به شکل زیر عمل کنید.
- ابتدا روی منوی افزونهها در پیشخوان وردپرس کلیک کنید.
- تیک انتخاب که در ستون کناری قرار دارد را انتخاب کنید تا همهی افزونهها انتخاب شوند.
- از قسمت کارهای دسته جمعی گزینه غیرفعال کردن را انتخاب کنید.
- روی دکمه اجرا کلیک کنید.
با انجام این کار همه افزونهها یک باره غیرفعال خواهند شد. اما اگر خطا مربوط به بخش پیشخوان وردپرس هم باشد، مطمئنا دسترسی به این بخش را ندارید که قادر به غیرفعال کردن افزونهها باشید. برای این کار میتوانید از روش دوم استفاده کنید که برای این منظور باید به ترتیب زیر عمل کنید.
- ابتدا وارد هاست خود شده و پس از اینکه به File Manager هاست مراجعه کردید، وارد پوشه public_html شوید.
- مسیری که وردپرس نصب شده را دنبال کنید تا وارد پوشه wp-content شوید. در این نمونه من وردپرس را در دامنه اصلی نصب کردم که کافی است مسیر public_html/wp-content را دنبال کنم. اما اگر از وردپرس در ساب فولدر استفاده میکنید، لازم است که مسیر public_html/FOLDER/wp-content را دنبال کنید.
- حال مشابه تصویر زیر باید روی پوشه plugins کلیک کرده و نام آن را با کمک گزینه RENAME به یک نام دلخواه مثل plugins-old تغییر داده و ذخیره کنید.
با انجام این کار همهی افزونهها در وردپرس از طریق هاست غیرفعال میشوند. حالا باید وارد صفحه افزونهها در پیشخوان وردپرس شده و با فعال کردن یک افزونه بررسی کنید که آیا خطا رخ میدهد یا خیر؟ اگر خطا رخ نداد سراغ فعال کردن افزونه بعدی رفته و با هر بار فعال کردن افزونه یک بار سایت را بررسی کنید. هر زمان که خطا http error 500 نمایش داده شد نشان از این دارد که افزونه موجود باعث خطا شده است.
موقتا قالب پیش فرض وردپرس را فعال کنید
گاهی اوقات دلیل ایجاد خطا در برنامه نویسی به قالب سایت برمیگردد. اگر به تازگی اقدام به تغییر قالب وردپرس یا آپدیت آن کردهاید که بلافاصله این خطا رخ داده است باید قالب را بررسی کنید.
برای این منظور میتوانید یکی از قالبها پیشفرض وردپرس را فعال کرده و از این موضوع اطمینان حاصل کنید که مشکل از سمت قالب نیست. برای این کار اگر به پیشخوان وردپرس دسترسی دارید، کافی است مطابق تصویر زیر به منوی نمایش> پوستهها رفته و قالب دیگری را فعال کنید(شماره گذاری ۱ و ۲ در تصویر زیر).
اما اگر دسترسی به این بخش ندارید مثل کاری که با پوشه افزونهها انجام دادید این بار باید با پوشه قالب فعال این کار را انجام داده و با تغییر نام دادن کاری کنید که وردپرس از قالب پیشفرض برای سایت شما استفاده کند. برای این منظور:
- ابتدا وارد هاست خود شده و پس از اینکه به File Manager هاست مراجعه کردید، وارد پوشه public_html شوید.
- مسیری که وردپرس نصب شده را دنبال کنید تا وارد پوشه wp-content شوید. در این نمونه من وردپرس را در دامنه اصلی نصب کردم که کافی است مسیر public_html/wp-content/themes را دنبال کنم. اما اگر از وردپرس در ساب فولدر استفاده میکنید، لازم است که مسیر public_html/FOLDER/wp-content/themes را دنبال کنید.
- حال مشابه تصویر زیر باید روی پوشه قالبی که در سایت فعال است کلیک کرده و نام آن را با کمک گزینه RENAME به یک نام دلخواه مثل X تغییر داده و ذخیره کنید.
نکته ای که باید در اینجا به آن دقت کنید این است که حداقل باید یکی از قالبهای پیشفرض وردپرس را نصب داشته باشید که با تغییر نام دادن نام پوشه قالب، وردپرس قالب پیشفرض را برای سایت فعال کند. اگر قالب دیگری ندارید میتوانید یکی از قالبهای پیشفرض را دانلود کرده و به کمک آموزش نصب قالب در وردپرس از طریق هاست سی پنل نصب و فعال کنید.
آخرین نسخه وردپرس را آپلود کنید
اگر به کمک راهکارهای بالا موفق به برطرف کردن ارور Internal Server Error 500 وردپرس نشدید میتوانید یک بار جدیدترین نسخه وردپرس را دریافت کرده و در هاست خود آپلود کنید. برای این منظور روی دکمه زیر کلیک کنید تا جدیدترین نسخه وردپرس را از مخزن دریافت کنید.
بعد از دانلود فایل پوشه wp-content را از داخل آن حذف کنید. اگر هم فایلی با نام wp-config.php وجود دارد آن را نیز حذف کنید. سپس باقی فایلها و پوشهها را با همان حالتی که وجود دارند به حالت فشرده zip. تغییر داده و در هاست آپلود کنید. بعد از اینکه از حالت فشرده خارج کردید و فایلها و پوشههای وردپرس جایگزین شد، مشکل رفع خواهد شد.
از پشتیبانی هاست کمک بگیرید
احتمالا تا اینجا مشکل خطای 500 در سایت شما رفع شده است. اما اگر به کمک این راهکارها موفق به رفع ارور نشدید، میتوانید از پشتیبانی هاست کمک بگیرید. با ارسال تیکت این موضوع را مطرح کرده و هر راهی را که برای رفع خطا تست کردید را نیز اعلام کنید تا مشکل سریعتر برطرف شود.
چطور ارور 500 در کروم و جیمیل را رفع کنیم؟
گاهی اوقات خطای 500. That’s an error در مرورگر کروم یا جیمیل رخ میدهد. در این مواقع هم چیزی از دست شما برنمیآید که بخواهید آن را رفع کنید. جز همان موردی که در ابتدا اشاره کردم و باید کش و کوکی مرورگر خود را بررسی کنید.
رفع ارور تلگرام server error 500
در برخی مواقع هم خطای 500 در تلگرام رخ میدهد که وقتی دارید از نسخه وب این پیام رسان استفاده میکنید با این خطا مواجه خواهید شد. در چنین مواقعی اگر از سرویس پروکسی یا VPN خود اطمینان دارید که متصل است، مشکل میتواند از سمت تلگرام باشد که باید منتظر بمانید تا رفع شود.
اما اگر اینطور نبود باید vpn خود را بررسی کنید. ترجیحا در چنین مواقعی سعی کنید حتما با برنامه موبایل یا سیستم دسکتاپ در اکانت خود وارد شده باشید که اگر حالت ضروری رخ داد به مشکل برنخورید.
جمع بندی نهایی
در این مقاله به بررسی کلیه مواردی که باعث بروز خطای internal server error 500 در سایت میشود پرداخته و به شما نشان دادم که به کمک چه راهکارهایی میتوانید مشکل خطای 500 در سایت و اپلیکیشنهای مختلف را رفع کنید.
در صورتی که تجربهای برای این خطا داشتید و روشهای دیگری را سراغ دارید که به کمک آن میتوان این خطا را رفع کرد از بخش نظرات برای ما ارسال کنید. همچنین هر مشکلی در این خصوص دارید میتوانید به اشتراک بگذارید تا شما را برای رفع آن راهنمایی کنم.