آشنایی با علت خطای 500 سرور Server Error و رفع آن ؟ قبلا در ماهان سرور در خصوص راههای رفع خطای سرور مقالات زیادی منتشر کرده ایم اما امروز در این پست می خواهم به انواع و علت خطاهای سرور Server Error بپردازیم. بنابراین هر کسی که با شبکه و سرور سرو کار دارد حتما با خطاهای آن نیز مواجعه شده و خواهد بود.
آنچه در این مطلب خواهید خواند
انواع خطای 500 سرور Server Error
بنابراین هر خطایی که از طرف سرور ایجاد شود با کدهای سری 500 نشان داده میشود. به خاطر داشته باشید که خطاهایی که در این بخش به آنها میپردازیم خطای کاربر یا کلاینت نیستند.
خطای 500 سرور (Error 500)
- این خطای سرور اصطلاحا «Internal Server Error» نامیده میشود.
- این خطا یکی از خطاهایی است که در زمینه سئو اهمیت زیادی دارد.
- این خطا زمانی که سایتی در حال به روزرسانی یا انجام تغییرات باشد به کاربر نمایش داده میشود.
ارور 500 یا HTTP response status code همانطور که از نامش پیداست یک مشکل کلی در سرور وبسایت است. بهاحتمالزیاد، این ارور بدان معنی است که یک مشکل یا نقص موقت در برنامهنویسی وبسایت وجود دارد. برخی از دلایل احتمالی خطای سرور داخلی 500 عبارتاند از:
- فایل htaccess. خراب شده است
- ارور مربوط به خطای مجوزها است
- پلاگین ها یا تمهای شخص ثالث معیوب هستند
- محدودیت حافظه PHP نقض شده است
یکی از خطاهای مرسوم در سایتهای وردپرس، ارور 500 است. این ارور در وردپرس میتواند به دلایل زیادی رخ دهد. ازجمله متداولترین دلایل بروز Error 500 در یک سایت وردپرس عبارت است از:
- حافظه کش مرورگر پر شده است
- اعتبارنامه ورود به پایگاه داده نادرست است
- پایگاه داده خراب است
- فایلهای خراب در نصب وردپرس وجود دارد
- مشکلات از سرور پایگاه داده است
- فایلهای اصلی وردپرس خراب شده است
- فایل htaccess خراب شده و حافظه PHP پر شده است
- مشکل مربوط به پلاگینها و تمهای شخص ثالث است
- زمانبندی PHP یا خطاهای مهم PHP با افزونههای شخص ثالث باعث بروز ارور شده است
- مجوزهای فایل و فولدر اشتباه است
- خطا در اسکریپت CGI و Perl به وجود آمده است
مدلهای مختلف نمایش خطای 500 سرور
با توجه به تنوع وب سرورها، سیستم عاملها و مرورگرها، ارور 500 سرور داخلی ممکن است به فرمهای مختلف نشان داده شود اما معنی همه آنها یکی است. در ادامه چند مورد از مدلهای نمایش ارور 500 را ذکر خواهیم کرد:
- “500 Internal Server Error”
- “HTTP 500”
- “Internal Server Error”
- “HTTP 500 – Internal Server Error”
- “500 Error”
- “HTTP Error 500”
- “500 – Internal Server Error”
- “500 Internal Server Error. Sorry something went wrong.”
- “ That’s an error. There was an error. Please try again later. That’s all we know.”
- “The website cannot display the page – HTTP 500.”
- “Is currently unable to handle this request. HTTP ERROR 500.”
همچنین ممکن است خطای 500 سرور را به همراه پیامی مشابه زیر مشاهده کنید:
سرور با یک خطای داخلی یا پیکربندی نادرست مواجه شد و نتوانست درخواست شما را تکمیل کند. لطفاً با مدیریت سرور، webmaster@domain.com تماس بگیرید و آنها را از زمان وقوع خطا و دلایل احتمالی آن مطلع سازید. اطلاعات بیشتر در مورد این خطا ممکن است در گزارش ارور سرور موجود باشد. در برخی مواقع، ممکن است ارور 500 بهصورت یک صفحه خالی نمایش داده شود. درصورتیکه از مرورگرهای فایرفاکس و یا سافاری استفاده میکنید، این مدل نمایش رایجتر است.
تأثیر خطای 500 سرور بر روی سئو
برخلاف ارور 503 که برای حالت تعمیر وردپرس استفاده میشود و به گوگل میگوید در حال حاضر وبسایت وردپرس در دست تعمیر است و بعداً برای ایندکسینگ صفحات اقدام کند، خطای 500 سرور اگر فوراً برطرف نشود میتواند بر سئوی سایت تأثیر منفی داشته باشد. اگر سایت شما فقط برای 10 دقیقه از کار بیفتد معمولاً خزندههای گوگل فرصت کافی برای بازدید همه صفحات سایت شما را نخواهند داشت و از نظر سئو تأثیر منفی روی رتبهبندی سایت شما نخواهد داشت. اما اگر سایت برای مدت طولانی، مثلاً بیش از 6 ساعت، از کار افتاده باشد، ممکن است گوگل ارور 500 را بهعنوان یک مشکل در سطح سایت ببیند که باید به آن رسیدگی شود. این نیز میتواند بر رتبهبندی سئوی وبسایت شما تأثیر منفی بگذارد.
چگونه میتوان خطای 500 سرور را پاک کرد؟
رفع خطای 500 سرور هنگام باز کردن یک صفحه وب
همانطور که در بالا به آن اشاره کردیم، خطای 500 سرور سرور داخلی یک خطای سمت سرور است، به این معنی که مشکل احتمالاً مربوط به کامپیوتر یا اتصال اینترنت شما نیست، بلکه مشکل از سرور وبسایت است؛ اما گاهی هم ممکن است وقت باز کردن یک صفحه وب با ارور 500 مواجه شوید. در این صورت میتوانید برای رفع خطا اقدامات زیر را انجام دهید.
- صفحه وب را دوباره باز کنید. میتوانید این کار را با فشردن دکمه Refresh/Reload، فشردن F5 یا Ctrl+R یا تست مجدد آدرس URL از نوار آدرس انجام دهید. حتی اگر ارور 500 سرور داخلی مشکلی در سرور وب باشد، شاید مشکل موقتی بوده و با باز کردن مجدد صفحه، برطرف شده باشد.
- کش مرورگر خود را پاک کنید. اگر مشکلی در نسخه کش صفحه وب وجود داشته باشد، ممکن است باعث بروز خطای HTTP بهصورت ارور 500 شود؛ بنابراین با پاک کردن کش مرورگر، ممکن است خطا رفع گردد.
- کوکیهای مرورگر خود را حذف کنید. میتوانید با حذف کوکیهای مرتبط با سایت مورد نظر که در آن ارور 500 را دریافت کردهاید، مشکل را حل کنید. پس از حذف کوکیها، مجدداً مرورگر خود را باز کرده و آدرس URL سایت را دوباره امتحان کنید. ممکن است ارور 500 رفع شده باشد.
- بروز خطای 504 Gateway Timeout را بررسی کنید. این حالت خیلی معمول نیست، اما برخی از سرورها ارور 500 سرور داخلی را نمایش میدهند، درحالیکه در واقع خطا مربوط به 504 Gateway Timeout است؛ یعنی بروز خطای 504 در برخی از مواقع بهصورت ارور 500 نمایش داده میشود.
- آدرس URL سایت مورد نظر را در وبسایت “Down for Everyone or Just Me” بررسی کنید. برای این منظور به آدرس com رفته و آدرس اینترنتی وبسایتی را که ارور 500 سرور داخلی را در آن مشاهده کردهاید، در این سایت وارد کنید. این سایت پس از بررسی آدرس به شما میگوید که وبسایت تنها برای شما ارور 500 را نمایش میدهد یا اینکه مشکل از سمت سرور آن است.
- بعداً امتحان کنید. از آنجایی که ارور 500 سرور داخلی بدون شک مشکلی خارج از کنترل شما است، احتمالاً بعداً توسط شخص دیگری برطرف میشود. اگر وبسایت مورد نظر یک وبسایت فروش است، چون از دسترس خارج شدن سایت مشکل مهمی برای کسبوکار به شما میآید، احتمالاً مدیران وبسایت خیلی زود ارور 500 را برطرف خواهند کرد.
رفع خطای 500 سرور در وبسایت شخصی خودتان
درصورتیکه در وبسایت شما ارور 500 ظاهر میشود، برای رفع مشکل میتوانید اقدامات زیر را انجام دهید:
-
افزونهها یا تمهای جدید را غیرفعال کنید.
ممکن است تمها، افزونهها یا اسکریپتهای شخص ثالث جدید با پیکربندی سرور فعلی شما در تضاد باشند. برای تعیین این موضوع، افزونهها یا تمهایی را که جدیداً نصب کردهاید یکییکی غیرفعال یا حذف کنید و هر بار با حذف یک افزونه یا تم، صفحه وبسایت خود را باز کرده و بررسی کنید که ارور 500 وجود دارد یا خیر.
-
برای شناسایی مشکل از افزونههایی مانند WP Debugging استفاده کنید.
اگر سایت شما از وردپرس پشتیبانی میکند و با فرآیندهای اشکالزدایی وردپرس آشنا هستید، نصب افزونههای اشکالزدایی نظیر WP Debugging میتواند در یافتن علت نمایش ارور 500 به شما کمک کند.
اگر مشکل مربوط به timeout PHP است، برای حل مشکل، از زمانبندی یا مدیریت خطا در اسکریپت PHP خود استفاده کنید. علاوه بر این، مجوزهای اشتباه برای فایل یا فولدری که دارای اسکریپت PHP یا CGI است، اجازه اجرای اسکریپت را نمیدهد. مجوزهای خود را بررسی کنید و مطمئن شوید که به درستی در سرور تنظیم شدهاند.
-
کد فایل htaccess. سایت خود را بررسی کنید.
کد نویسی نادرست یا ساختار نامناسب فایل .htaccess میتواند دلیلی برای مشاهده ارور 500 باشد. فایل .htaccess که به آن دسترسی توسط ابرمتن نیز گفته میشود به شما کمک میکند تا مدت زمان ذخیره منابع را در کش مرورگر، مدیریت کنید. اگر ارور 500 سرور داخلی ناشی از کد نویسی نادرست این فایل باشد، باید آن را اصلاح نمایید.
برای پیدا کردن فایل .htaccess، (directory-level configuration file) بهعنوان ادمین وارد وبسایت شده و از طریق cPanel یا FTP/SFTP به فایلهای وبسایت دسترسی پیدا کنید. فایل .htaccess احتمالاً در دایرکتوری public_html قرار دارد. این احتمال وجود دارد که سرور شما بهطور پیشفرض این فایل را پنهان کرده باشد، بنابراین برای دیدن آن میبایست نمایش فایلهای مخفی را فعال کنید. همچنین خطاهای کد نویسی در .htaccess و اسکریپتهای سفارشی نیز میتواند باعث ارور 500 سرور داخلی شود.
-
از Administrator سرور خود کمک بگیرید
درنهایت بهعنوان آخرین راهکار، اگر هیچ یک از روشهای فوق ارور 500 را رفع نکرد، با Administrator سرور خود تماس گرفته و مشکل را اطلاع دهید.
روش حذف کوکیها برای رفع خطای 500 سرور
اگر هنگام ورود به صفحه وب پیام «Error 500 – Internal Server Error» را دریافت میکنید، یکی از روشهای حل این مشکل، پاک کردن کوکیهای مرورگر است. دستورالعمل سریع برای پاک کردن کوکیها در مرورگرهای مختلف در این بخش ارائه میشود. لطفاً پیش از حذف کوکیها تمام پنجرههای مرورگر خود را ببندید.
رفع خطای 500 سرور از طریق گوگل کروم Google Chrome
- در گوشه سمت راست بالای پنجره مرورگر (زیر x)، روی 3 نقطه عمودی کلیک کنید.
- روی “Settings” کلیک کنید.
- به پایین بروید و روی “Advanced” کلیک کنید.
- در قسمت «Privacy and Security»، روی «Clear browsing data» کلیک نمایید.
- یک باکس دیالوگ ظاهر میشود که در آن “Basic tab” برجسته شده و محدوده زمانی به شکل یک منوی کشویی ظاهر میشود. گزینه “All time” را در این قسمت انتخاب کنید.
- روی «Cookies and other site data» کلیک کنید.
- اکنون میتوانید روی دکمه آبی “CLEAR DATA” در پایین باکس کلیک نمایید.
رفع خطای 500 سرور از طریق موزیلا فایرفاکس Mozilla Firefox
- در گوشه سمت راست بالای پنجره مرورگر خود (زیر x)، روی نوار سهگانه یا آیکون hamburger/pancake/Oreo icon برای settings/options کلیک کنید.
- روی Options کلیک کنید.
- روی “Privacy and Security” در سمت چپ کلیک کنید.
- در زیر عنوان “Cookies and Site Data” روی دکمه “Clear Data” در سمت راست کلیک کنید.
- باکس دیالوگ “Clear Data” ظاهر میشود. «Cookies and Site Data» را علامت زده و روی دکمه «Clear» در پایین کلیک کنید.
- در باکس دیالوگ بعدی که به شما در مورد پاک کردن تمام کوکیها و دادههای سایت هشدار میدهد، روی دکمه «Clear Now» در پایین کلیک کنید.
- پنجره “Options” خود را ببندید.
رفع خطای 500 سرور از طریق اپل سافاری Apple Safari
توجه داشته باشید که اگر تنظیمات کوکی را در Safari تغییر دهید یا کوکیها را در مرورگر خود حذف کنید، ممکن است تنظیمات کوکی در سایر برنامههای شما ازجمله داشبورد هم حذف یا تغییر کند. این راهنما برای OSX Lion است.
- سافاری را باز کنید.
- روی Safari و سپس Preferences کلیک کنید. روی “Privacy” کلیک نمایید.
- روی “Details” کلیک کنید.
- لیستی از وبسایتهایی را مشاهده خواهید کرد که کوکیها را ذخیره کردهاند. میتوانید با انتخاب هر سایت و کلیک بر روی دکمه «Remove» سایتهای خاصی را بهصورت انتخابی حذف کنید. اگر میخواهید همه کوکیها را پاک کنید، روی «Remove All» کلیک نمایید.
- هنگامی که حذف سایتها به پایان رسید، روی “Done” کلیک کنید.
روش پاک کردن خطای 500 سرور در سایت WordPress
علاوه بر روشهای گفته شده برای پاک کردن ارور 500 در وبسایتهای شخصی، بهصورت خاص میتوان این خطا را در وبسایتهایی که با سامانه مدیریت محتوا وردپرس (content management system) به روشهای زیر رفع نمود:
لاگهای سرور را بررسی کنید
اگر از سرور Kinsta استفاده میکنید، میتوانید خطاها را در log viewer در داشبورد MyKinsta مشاهده کنید. این قابلیت به شما کمک میکند مشکلاتی را که باعث بروز ارور 500 شدهاند، بهخصوص اگر ناشی از افزونههای سایت باشد، شناسایی کنید.
اگر هاست شما ابزار لاگ ندارد، میتوانید حالت اشکالزدایی وردپرس را با افزودن کد زیر به فایل wp-config.php فعال کنید:
define( ‘WP_DEBUG’, true );
define( ‘WP_DEBUG_LOG’, true );
define( ‘WP_DEBUG_DISPLAY’, false );
لاگها عموماً در فولدر /wp-content قرار دارند. همچنین در سرورهای Apache و Nginx نیز لاگها را میتوان در مسیرهای زیر یافت:
- Apache: /var/log/apache2/error.log
- Nginx: /var/log/nginx/error.log
فایلهای Core وردپرس را مجدداً نصب کنید
گاهی اوقات فایلهای Core وردپرس بهخصوص در سایتهای قدیمیتر خراب شده و ارور 500 در این حالت ظاهر میشود. برای نصب مجدد این فایلها کافی است فایلهای Core وردپرس را مجدداً بارگذاری کنید بدون اینکه بر افزونهها یا تمهای وبسایت تأثیر بگذارد.