زیرساخت ابری هایو
[dark-light-mode-switch]

خطای 500 سرور و راهنمای جامع حل آن

فهرست مطالب

خطای 500 می تواند مانع از دسترسی شما به یک صفحه یا وب سایت شود.

هنگامی که این خطا رخ می دهد، در واقع، سرور یک کد وضعیت خطای HTTP 500 را به مرورگر شما ارسال می کند.

هنگامی که خطای 500 مانع از دسترسی شما به یک سایت می شود، راه حل این است که بعدا وقتی مشکل حل شد دوباره امتحان کنید.

اما اگر خطای 500 در سایت شما رخ دهد چه باید کرد؟

چندین راه متفاوت برای حل سریع این مشکل وجود دارد پس نگران از دست دادن مشتری های تان نباشید، فقط زود تر دست به کار شوید.

در این مقاله، یاد میگیریم که چگونه ارور 500 را حل کنیم، خواهیم دید که چه نوع مشکلی پشت خطای 500 در وبسایت شما وجود دارد.

ما دلایل احتمالی را بررسی خواهیم کرد و راه حل هایی را  به شما آموزش می دهیم، که می توانید برای رفع سریع خطا و بازگرداندن سایت خود اقدام کنید.

در ادامه نیز، ما خواهیم دید که چگونه می توان خطای 500 را در صورتی که مالک سایت نیستید، دور زد.

خطای 500 چیست؟

کد وضعیت 500 (خطای سرور داخلی) نشان می دهد که سرور با شرایط غیرمنتظره ای مواجه شده است که مانع از انجام درخواست شده است.

 کد وضعیت Http چیست؟

برای اینکه بتوانیم به آدرسی سایتی برسیم، مرورگر باید درخواستی را به سروری که سایت روی آن میزبانی شده است ارسال کند. سرور در پاسخ، برای برقراری ارتباط یا اعلام نتیجه درخواست کدی را برمی‌گرداند.

کدهای وضعیت HTTP از 3 رقم تشکیل شده‌اند که اولین رقم آن دسته آن را نشان می‌دهد:

1XX : کدهای وضعیتی که با 1 شروع می شوند، کدهای اطلاعاتی هستند. 

آنها نشان می دهند که درخواست دریافت شده است و هنوز در سرور پردازش نشده است.

2XX : این کدها کدهای تایید هستند، به این معنی که درخواست دریافت و پردازش شده است.

3XX : اینها کدهای تغییر مسیری هستند و زمانی استفاده می شوند که منبعی به طور موقت یا به طور دائم  جابجا شده باشد.

4XX : این کدها خطاهای مشتری را نشان می دهد،

مانند خطای 403 و خطای 404 که نشان می دهد که منبع  پیدا نشده است.

5XX : این دسته از خطاهای سرور  هستند.

خطای های 500 ، 502، و503 از این جمله هستند.

بنابراین این پنج دسته از کدهای وضعیت استاندارد HTTP هستند.

کدهای دیگری نیز وجود دارند که همیشه به صورت اعشاری هستند و جزئیات بیشتری در مورد وضعیت یک درخواست ارائه می دهند.

یک مثال که توسط سرورهای مایکروسافت ارائه شده است که در مورد خطای 500  جزئیات بیشتری در مورد علل خطا بیان میکند.

  • 500.0 : خطا در یک ماژول یا در ISAPI است
  • 500.11 : یکی از برنامه های کاربردی روی سرور در شرف متوقف شدن است.
  • 500.12 : یک برنامه در شرف راه اندازی مجدد است.
  • 500.13 : اضافه بار در سرور به وجود آمده است.
  • 500.15 : درخواست برای فایل global.asax مجاز نیست.
  • 500.19 : داده های پیکربندی معتبر نیست.
  • 500.21 : یکی از ماژول ها شناسایی نشده است.
  • 500.22 : پیکربندی یک ماژول HTTP در یک برنامه وب ASP.NET معتبر نیست.
  • 500.24 : مشکلات مربوط به پیکربندی تغییر هویت در حالت مدیریت سرور به وجود امده است.
  • 500.50 : هنگام پردازش پیام RQ_BEGIN_REQUEST یک خطای بازنویسی به وجود آمده است.
  • 500.51 : هنگام پردازش پیام GL_PRE_BEGIN_REQUEST یک خطای بازنویسی به وجود آمده است.
  • 500.52 : هنگام پردازش پیام RQ_SEND_RESPONSE خطای بازنویسی رخ داده است.
  • 500.53 : هنگام پردازش پیام RQ_RELEASE_REQUEST_STATE خطای بازنویسی رخ داده است.
  • 500.100 : خطا در برنامه ASP رخ داده است.

خطای 500 می تواند به روش های مختلفی نمایش داده شود، در اینجا برخی از رایج ترین نوعی که ممکن است با آنها روبرو شویدرا جمع آوری کرده ایم:

  • 500 Internal Server Error
  • HTTP 500 Internal Error
  • HTTP Error 500
  • Internal Server Error
  • The website cannot display the page
  • HTTP 500 – Internal Server Error
  • Internal Server Error 500
  • 500 Error
  • 500 Server Error
  • 500 Internal Server Error. Sorry something went wrong.
  • Temporary Error (500)
  • Server Error 500 internal
  • Error 500 HTTP
  • Error 500 Internal Server Error
  • HTTP Error 500
  • An error occurred during data request (500)

پیام خطا می تواند از یک سرور به سرور دیگر و در مرورگرهای مختلف تغییر کند. در تصویر زیر می توانید نمونه ای از خطا در گوگل کروم را مشاهده کنید.

با این حال، مرورگرهای دیگر مانند فایرفاکس نیز ممکن است به سادگی یک صفحه خالی را به شما نشان دهند.

دلایل به وجود آمدن خطای 500

خطای 500 می تواند ناشی از دلایل مختلفی باشد، ممکم است خطا در فایل htaccess.باشد یا ممکن سرور به خاطر نگهداری در دسترس نباشد.

در این پاراگراف، برخی از رایج ترین دلایلی که می تواند این نوع خطا را ایجاد کند را بررسی می کنیم. در قسمت بعدی، نیز خواهیم دید که چگونه ارور 500 را حل کنیم.

خطا در فایل htaccess

فایل .htaccess برای درج دستورالعمل ها برای سرورهای آپاچی استفاده می شود.

برای مثال، می توانید از فایل htaccess. برای پیاده سازی ریدایرکت های 301 استفاده کنید.

وجود خطایی مانند دستور نادرست یا حتی خطای نوشتاری در این فایل می تواند باعث شود که سرور با خطای 500 پاسخ بدهد.

خطاهای مجوز

مجوزها را می توان برای همه فایل ها و پوشه های روی سرور تنظیم کرد. این نشان دهنده آن است که کدام کاربران اجازه خواندن، نوشتن و اجرای فایل ها را دارند یا ندارند.

به عنوان مثال در مورد مجوزهای فایل ها و پوشه های وردپرس باید از مجوزهای زیر استفاده کنید:

  • 644 یا 640 برای فایل ها
  • 755 یا 750 برای پوشه ها.

یک اشتباه در مجوزها می تواند دلیل خطای 500 باشد.

مشکلات یک اسکریپت

یک خطا در کد یک اسکریپت و همچنین در تنظیم مسیر آن می تواند باعث ایحاد خطای 500 شود.

همچنین، اگر اسکریپت های Perl به جای ASCII در حالت باینری بارگذاری شده باشند یا اگر ماژول های لازم برای اسکریپت نصب نشده باشند ، ممکن است با این ارور مواجه شوید .

مشکل با سرور

ارور 500 ممکن است به دلیل مشکلات سرور باشد، به عنوان مثال، اگر سرور بیش از حد پردازش انجام دهد cpu  سرور اشغال می شود و ممکن است با ایت ارور مواجه شوید.

در این موارد، می توانید منتظر بمانید و پس از مدتی صفحه را دوباره بارگیری کنید یا با پشتیبان سایت تماس بگیرید.

مشکلات سازگاری با پلاگین ها و تم ها

هنگام استفاده از یک CMS مانند وردپرس ویا جوملا و نصب افزونه ها یا قالب هایی روی آن ها ممکن است خطای 500 درست پس از نصب یکی از این مؤلفه ها برای شما نمایش داده شود.

برای اینکه بفهمید که آیا دلیل خطای 500 یک افزونه است، می توانید همه افزونه ها را به طور موقت غیرفعال کنید.

برای این کار شما می توانید این کار را مستقیماً از داشبورد انجام دهید، اما اگر نمی توانید وارد داشبورد سایت خود شوید، روش های دیگری نیز وجود دارد که بعداً در بخش راه حل های خطای 500 کاملا آن ها را بررسی خواهیم کرد.

مشکلات فایل های اصلی وردپرس

اگرچه خطای 500 مستقیماً به پلتفرمی که استفاده می کنید مربوط نمی شود، اما مواردی نیز وجود دارد که مشکل می تواند از فایل های CMS ناشی شود.

به عنوان مثال در مورد وردپرس این امکان وجود دارد که فایل های اصلی آسیب دیده باشند و نیاز به بازیابی داشته باشند.

در این صورت، باید بدون از دست دادن محتوایی که تاکنون ایجاد کرده‌اید، اقدام به نصب مجدد وردپرس کنید.

به خاطر داشته باشید که برای جلوگیری از از دست دادن محتوای خود، قبل از این کار، حتما یک نسخه پشتیبان از سایت تان تهیه کنید.

مشکلات پایگاه داده

خطای 500 می تواند به دلیل مشکل در پایگاه داده باشد. از جمله رایج ترین دلایلی که ممکن است سایت را با ارور 500 مواجه کند موارد زیر می باشد:

  •  دسترسی نادرست به پایگاه داده
  • خرابی پایگاه داده
  • اضافه بار سرور پایگاه داده

محدودیت حافظه PHP

اگر یک اسکریپت از سقف آستانه حافظه php فراتر رود، سرور این فرایند را محدود میکند و ممکن است با خطای 500 مواجه شوید.

چگونه ارور 500 را حل کنیم؟

علاوه بر بررسی علل احتمالی، دیدیم که بررسی‌های دیگری نیز وجود دارد که بتوانیم برای تعیین منشأ خطای 500 از آن ها استفاده کنیم.

ابتدا، اجازه دهید با تجزیه و تحلیل فایل‌های لاگ شروع کنیم و سپس ببینیم که چگونه به طور عملی مشکلات رایجی را که بهتون معرفی کریدم را برطرف کنیم. .

فایل های لاگ را بررسی کنید

علت خطای 500 ممکن است در فهرست علل رایجی که در بالا بررسی کردیم، قرار نگیرد.

به همین دلیل یکی از اولین کارهایی که باید انجام دهید این است که بروید و لاگ های خطا یا لاگ های سرور را بررسی کنید.

برای این کار، به عنوان مثال از طریق مدیریت فایل cPanel، دسترسی داشته باشید و به دنبال فایلی مانند «error_log» بگردید:

error 500

در وردپرس نیز می‌توانید با افزودن این تکه کد به فایل wp-config.php، حالت اشکال زدایی را فعال کنید:

define('WP_DEBUG', true ); 
define('WP_DEBUG_LOG', true ); 
define('WP_DEBUG_DISPLAY', false );

مجوزهای فایل ها و پوشه ها را بررسی کنید

باید مطمئن شوید که فایل ها و پوشه های روی سرور دارای مجوزهای مناسب هستند. به عنوان مثال در مورد وردپرس، فایل ها باید دارای مجوزهای 644 یا 640 باشند، در حالی که مجوز پوشه ها باید 755 یا 750 باشند.

شما می توانید مجوزهای فایل را به چند روش تغییر دهید. برای مثال می توانید از فایل منیجر cPanel استفاده کنید.

در کنار هر فایل، ستونی می بینید که Permissions و مجوزهای فایل را نشان می دهد. در این مثال، تمام فایل ها روی 644 و پوشه ها روی 755 تنظیم شده اند.

اگر می خواهید مجوزها را تغییر دهید، کافی است روی شماره مربوط به مجوز فایلی که می خواهید تغییر دهید کلیک کنید، کد جدید را تایپ کنید و همانطور که در این اسکرین شات می بینید روی Save کلیک کنید:

خطای 404

همچنین می توانید مجوزهای فایل را با یک سرویس گیرنده FTP تغییر دهید. برای مثال، می‌توانید نحوه انجام آن را با Filezilla که یکی از پرکاربردترین کلاینت‌های FTP است انجام دهید.

Error 500

خطای HTTP 500 و مشکلات فایل htaccess.

همانطور که قبلاً گفتیم، یکی از دلایل خطای سرور داخلی می تواند خطا در فایل htaccess . باشد .

برای بررسی اینکه آیا فایل .htaccess علت ارور 500 است یا خیر، تنها کاری که باید انجام دهید این است که به طور موقت  نام آن را تغییر دهید. همیشه می توانید این کار را با استفاده از مدیریت فایل هاست یا با دسترسی به سرور از طریق  پروتکل FTP انجام دهید.

اگر از فایل منیجر cPanel استفاده می کنید و نمی توانید فایل را پیدا کنید، باید تنظیمات را بررسی کرده و مطمئن شوید که گزینه Show hidden files (dotfiles) فعال است.

error 500

هنگامی که فایل htaccess. را پیدا کردید ، به سادگی نام آن را تغییر دهید و ببینید آیا خطای 500 برطرف شده است یا خیر.

خطای 500

اگر بعد از تغییر نام فایل htaccess، خطای 500 رفع شد، باید خطای موجود در آن را پیدا کرده و تصحیح کنید. پس از آن، می توانید نام فایل را به نام اصلی خود ( .htaccess ) تغییر دهید.

محدودیت حافظه PHP را تغییر دهید

اگر یکی از فرآیندهای فعال در سایت شما از محدودیت حافظه PHP فراتر رود ، ممکن است خطای 500 را مشاهده کنید.

در این صورت می توانید محدودیت حافظه را تغییر دهید تا ببینید آیا این دلیل خطا است یا خیر.

راه های مختلفی برای انجام این کار وجود دارد، یکی از ساده ترین آنها این است که مستقیماً از  داخل سی پنلاین کار را انجام دهید.

پس از ورود به cPanel از قسمت Software بر روی Select PHP version کلیک کنید .

error

این ابزار به ما اجازه می دهد تا نسخه PHP را تغییر دهیم و محدودیت حافظه را تغییر دهیم.

روی تب Options کلیک کنید و به حافظه_ limit بروید ، سپس محدودیت حافظه PHP را با توجه به گزینه هایی که منوی کشویی به شما اجازه می دهد تنظیم کنید.

cpanel

غیرفعال کردن افزونه ها

گاهی اوقات فعال کردن یک افزونه یا قالب جدید می تواند باعث خطای 500 شود.

برای اینکه بفهمید علت خطا یک افزونه است یا نه، می‌توانید به طور موقت همه افزونه‌ها را غیرفعال کنید و ببینید آیا خطا برطرف می‌شود یا خیر.

پس از غیرفعال کردن همه افزونه ها بررسی کنید که آیا خطای 500 برطرف شده است یا خیر.

در این صورت باید پلاگین ها را یکی یکی دوباره فعال کنید و بررسی کنید که آیا خطا دوباره رخ می دهد ، اگر رخداد مشکل از آن افزونه است.

می‌توانید افزونه‌های وردپرس را به چند روش غیرفعال کنید :

افزونه ها را از داشبورد غیرفعال کنید

ساده ترین راه برای غیرفعال کردن همه افزونه ها این است که این کار را مستقیماً از داشبورد انجام دهید:

  • برای انتخاب همه افزونه ها، کادر را علامت بزنید
  • از منوی کشویی، کار های دسته جمعی ، غیرفعال کردن را انتخاب کنید
  • سپس بر روی دکمه اعمال کلیک کنید و همه افزونه ها را غیرفعال می شوند.

500

اگر نمی توانید به داشبورد دسترسی پیدا کنید، راه های دیگری برای غیرفعال کردن افزونه ها وجود دارد.

افزونه ها را از فایل منیجر غیرفعال کنید

می‌توانید همه افزونه‌ها را با تغییر نام پوشه‌ای که حاوی آن‌ها است، غیرفعال کنید.

شما می توانید از طریق مدیریت فایل cPanel یا با استفاده از یک سرویس گیرنده FTP مانند Filezilla به فایل های سایت خود دسترسی پیدا کنید.

معمولا مسیر پوشه افزون ها ها به این صورت است: /public_html/wp-content/plugins. همانطور که در این مثال می بینید نام آن را تغییر دهید و بررسی کنید که آیا خطای 500 همچنان رخ می دهد یا خیر.

err00r 500

پس از آن باید دوباره نام پوشه را به  نام اصلی تغییر دهید و بعد از آن می‌توانید به صورت دستی افزونه‌ها را از داشبورد وردپرس دوباره فعال کنید.

پلاگین ها را با phpMyAdmin غیر فعال کنید

ما می توانیم از phpMyAdmin برای غیرفعال کردن پلاگین ها به طور مستقیم ادر پایگاه داده استفاده کنیم.

در این مورد، به یاد داشته باشید که قبل از ایجاد تغییرات در پایگاه داده، همیشه عاقلانه است که یک نسخه پشتیبان از سایت تهیه کنید .

برای غیرفعال کردن افزونه‌ها، فقط باید جدول wp_options را باز کنیم و رکورد active_plugins را با درج a:0:{} در option_value ویرایش کنیم .

افزونه ها را با WP-CLI غیرفعال کنید

WP-CLI به ما اجازه می دهد تا نصب های وردپرس خود را از طریق خط فرمان مدیریت کنیم.

با یک دستور می توانید تمام افزونه ها را غیرفعال کنید:

wp plugin deactivate --all


در این صورت می توانید بررسی کنید که آیا خطا به یکی از افزونه ها بستگی دارد یا خیر و بعد به سراغ فعال سازی یکی یکی آن ها از داشبورد بروید.

با پشتیبانی تماس بگیرید

اگر نتوانستید علت خطای 500 را پیدا کنید، همیشه می توانید با پشتیبانی سرور های ابری هایو تماس بگیرید، بررسی هایی را که قبلا انجام داده اید را با پشتیبانی در میان بگزارید و با هم راه حل جدیدی برای آن پیدا کنید.

چگونه به عنوان یک کاربر ارور 500 را حل کنیم

راه حل هایی که ما  گفتیم را می توان در صورت بروز خطای 500 در سایت خودتان اعمال کرد.

از طرف دیگر، اگر خطای 500 در سایتی که می خواهید از آن بازدید کنید ظاهر شود، کار های زیادی را نمی توانید انجام دهید

از آنجایی که این یک خطای سمت سرور است، به اتصال شما یا دستگاهی که استفاده می کنید بستگی ندارد.

در واقع، اگر سعی کنید از دستگاه یا مرورگر دیگری به آن دسترسی داشته باشید، با همان خطا مواجه خواهید شد.

می توانید با سرویس رایگانی مانند Down for Everyone  وضعیت سایت را بررسی کنید که به شما این امکان را می دهد که بفهمید آیا سایت آنلاین است یا خیر.

در چنین مواردی، فقط باید منتظر بمانید و سعی کنید بعداً دوباره به سایت متصل شوید. اگر نیاز به دسترسی به محتوای صفحه دارید، باید با پشتیبانی سایت در میان بگزارید.

نتیجه

خطای 500 یک خطای سرور است که زمانی رخ می دهد که مشکلی پیش می آید و دسترسی به سایت مورد نظر را غیرممکن می کند.

از آنجایی که این یک خطای عمومی است، مرورگر اطلاعات بیشتری در مورد علت این مشکل ارائه نمی دهد، فقط کد وضعیت خطای HTTP 500 را نشان می دهد، یا در موارد دیگر، فقط یک صفحه خالی را به شما نشان می دهد.

به همین دلیل، تنها راه حل آن، آزمایش علل احتمالی یک به یک است.

در این مقاله، شایع ترین دلایل خطای 500 را دیدیم و راه های ممکن برای رفع آن در صورت بروز مشکل در سایت شما را بررسی کردیم.

آیا تا به حال خطای 500  را در سایت خود دیده اید؟

چطور حلش کردید؟

در نظرات به من اطلاع دهید که آیا راه حل های موجود در این مقاله به شما در حل آن کمک کرده است ؟

رایگان آموزش ببین - آموزش کار با سرویس های هایو

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *