ارور ۵۰۰ چیست؟ خطای ۵۰۰ مشکلی است که گاهی وقت‌ها هم کاربران از آن شاکی می‌شوند، هم مدیران سایت‌ها! اما ارور ۵۰۰ چیست و چطور ایجاد می‌شود؟ در مقاله امروز وبلاگ ایران سرور، به این سوال جواب می‌دهیم؛ به علاوه، یادتان می‌دهیم که چطور ارور ۵۰۰ را رفع کنید! در ضمن می‌توانید مقاله معرفی خطاهای HTTP را بخوانید تا با باقی کدهای خطا هم آشنا شوید.

ارور ۵۰۰ چیست؟

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

خطای 500 در کروم

خطای ۵۰۰ به چه صورت در سایت ظاهر می‌شود؟

پیغام ارور ۵۰۰ در شکل‌های مختلفی ظاهر می‌شود، اما در هر صورت، معنای تمام آن‌ها یکی است.

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

خطای 500

علت خطای ۵۰۰ (HTTP Error 500) چیست؟

همانطور که قبلا بالاتر هم اشاره کردیم؛ خطای ۵۰۰ یعنی مشکلی وجود دارد که باعث می‌شود سرور سایت نتواند جواب درخواست کاربر را بدهد. اما این مشکل مربوط به ارور ۵۰۰ چیست؟ خب، دلایل مختلفی باعث بروز خطای ۵۰۰ می‌شوند. اما اگر Microsoft Internet Information Services را نصب کرده باشید، می‌توانید اطلاعات بیشتر و دقیق‌تری در مورد خطا به‌ دست آورده و آن را برطرف کنید!

در جدول زیر می‌توانید لیستی از خطاهای سرور را مشاهده کنید

کد خطاتوضیحات
۵۰۰.۰خطای ماژول یا ISAPI رخ داده است.
۵۰۰.۱۱برنامه روی وب‌سرور در حال خاموش شدن است.
۵۰۰.۱۲برنامه مشغول راه‌اندازی مجدد (Restart شدن) روی سرور است.
۵۰۰.۱۳وب‌سرور خیلی شلوغ است.
۵۰۰.۱۵اجازه درخواست مستقیم برای Global.asax وجود ندارد.
۵۰۰.۱۹داده‌های پیکربندی نامعتبر است.
۵۰۰.۲۱ماژول ناشناخته است.
۵۰۰.۲۲پیکربندی ASP.NET httpModules پیدا نشد.
۵۰۰.۲۳پیکربندی ASP.NET httpHandlers پیدا نشد.
۵۰۰.۲۴پیکربندی ASP.NET impersonation پیدا نشد.
۵۰۰.۵۰خطای بازنویسی، هنگام اجرای اعلان RQ_BEGIN_REQUEST
۵۰۰.۵۱خطای بازنویسی هنگام اجرای اعلان GL_PRE_BEGIN_REQUEST
۵۰۰.۵۲خطای بازنویسی هنگام اجرای اعلان RQ_SEND_RESPONSE
۵۰۰.۵۳خطای بازنویسی هنگام اجرای اعلان RQ_RELEASE_REQUEST_STATE
۵۰۰.۱۰۰خطای داخلی ASP

ابزارهای پیدا کردن ارور ۵۰۰ چیست؟

دقت در این نکته حائز اهمیت است که ارورهای ۵۰۰ غالبا به دلیل نقص فنی سایت یا مشکل در کدنویسی بروز پیدا می‌کنند. برای یافتن این مدل خطاها می‌توان از ابزارهای مدرن و به روز استفاده کرد که یکی از بهترین آن‌ها Ahref است. با استفاده از قابلیت‌های این ابزار به راحتی می‌توانید روش‌های برطرف کردن این خطاهای سرور را در اختیار داشته باشید.

همچنین، ابزارهایی مانند Screaming Frog برای اسکن کردن یک وب‌سایت مورد استفاده قرار خواهند گرفت و با آن می‌توان به راحتی مشکلات فنی این چنینی را یافت. دقت داشته باشید که Semrush نیز از قابلیت‌های ارزنده‌ای در این مورد بهره می‌برد که پس از ثبت‌نام در وب‌سایت آن می‌توانید از امکانات آن استفاده کنید.

بیشتر بخوانید: رفع خطای Dns_probe_finished_nxdomain با سریع ترین روش

در سایت وردپرسی علت بوجود آمدن ارور ۵۰۰ چیست؟

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

خطا در کدهای سایت

مطمئنا وجود خطا در بخش کد یک وب‌سایت وردپرسی منجر به بروز خطاهای سرور خواهد شد. ناسازگاری کدها یا بهینه نبودن آن‌ها می‌تواند دلیل بروز خطاهای ۵۰۰ در سرور باشد.

خطا در افزونه ها و قالب

بسیاری از افزونه‌ها یا حتی قالب‌ها دارای خطاهای بسیاری در بخش کدنویسی هستند. این مشکلات مطمئنا احتمال بروز ارورهای سرور را تا حدود زیادی افزایش خواهند داد.

خطا در تنظیمات سرور

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

حملات امنیتی

حملات امنیتی بسیاری وجود دارند که احتمال بروز خطاهای ۵۰۰ را افزایش می‌دهند. هکرها ممکن است کدهای مخرب به سایت تزریق کنند یا با نفوذ به سرور به کلی آن را با مشکل مواجه کنند.

روش برطرف کردن ارور ۵۰۰ چیست؟

ما این موضوع را از ۲ زاویه بررسی کردیم: کاربر و مدیر سایت.

اگر کاربری هستید که در حال استفاده از یک سایت، با خطای ۵۰۰ مواجه شده‌اید، این ۲ تا کار را انجام دهید:

  1. حافظه کش مرورگر را پاک کنید (Ctrl + F5)
  2. کوکی‌های این سایت را پاک کنید

اگر مشکل جدی نباشد، با این ۲ کار ممکن است دسترسی‌تان به سایت برقرار شود.

خب؛ حالا اگر مدیر سایت یا برنامه‌نویس باشید و بخواهید مشکل را ریشه‌ای حل کنید، باید مراحلی که در ادامه می‌گوییم را پشت سر بگذارید.

برطرف کردن ارور 500

مراحل برطرف کردن ارور ۵۰۰ چیست؟

در این بخش راه‌های مختلف رفع خطا را بر اساس هاست و انواع CRM توضیح داده‌ایم.

بررسی error_log

اولین گام در صورت مواجه شدن سایت با خطا، بررسی Error Log سایت است؛ چون با مشاهده خطاهای لاگ می‌توانید سریع‌تر مشکل را شناسایی کرده و برای رفع آن اقدام کنید.

خیلی وقت‌ها، زمانی‌ که خطای Internal Server Error را مشاهده می‌کنیم، دلیل ایجاد آن در قسمت Error Log کنترل پنل هاست موجود است.

اگر هاست سی‌پنل دارید، از قسمت Metrics روی گزینه Errors کلیک کنید.

سی پنل

برای کنترل پنل دایرکت ادمین هم وارد داشبورد آن شوید و  روی گزینه‌های  Site Summary / Statistics / Logs کلیک کنید. سپس از قسمت Web Error Log روی گزینه ۱۰۰ lines کلیک کنید تا ۱۰۰ خطای آخر به شما نمایش داده شود.

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

دایرکت ادمین

روش مشاهده ارور ۵۰۰ چیست: وردپرس

فایل wp-config.php موجود در public_html هاست را باز کرده و مقدار WP_DEBUG’ را به true تغییر دهید.

مشاهده ارور 500

روش مشاهده ارور ۵۰۰ چیست: جوملا

جهت فعال کردن امکان مشاهده خطا در سایت‌های جوملا در فایل configuration.php مقدار error_reporting را به کد زیر تغییر دهید.

;public $error_reporting = '1'

روش مشاهده ارور ۵۰۰ چیست: پرستاشاپ

برای مشاهده خطاهای Prestashop باید فایل defines.inc.php در مسیر

/home/username/public_html/config

را ویرایش کنید و مقدار

;define(‘PS_MODE_DEV ‘, false)

را به

;define(‘PS_MODE_DEV ‘, true)

تغییر دهید.

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

بیشتر بخوانید: ارور ۴۰۳ چیست؟ آموزش روش‌های رفع خطای ۴۰۳ 

چک کردن فایل htaccess

برای بررسی این فایل نیاز است که نام فایل را تغییر بدهید. مثلا نام اصلی را به htaccess_old تغییر دهید.

برای این که مطمئن شوید مشکل از این فایل است یا نه، فایل را مثلا به htaccess_old تغییر نام دهید.

برای این کار وارد هاست و بخش filemanager شده و وارد پوشه public_html شوید.

فایل htaccess فعلی را به htaccess_old یا نام دلخواه خودتان تغییر دهید.

یک فایل جدید بنام .htaccess ایجاد کرده و کد زیر را در آن درج کنید. حالا مشاهده سایت بدون ارور را مجدد بررسی کنید.

# BEGIN WordPress

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteBase /

RewriteRule ^index\.php$ - [L]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . /index.php [L]

</IfModule>

# END WordPress

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

حالا باید خط به خط کدهای htaccess را به آن اضافه کنید تا ببینید مشکل از کدام خط بوده است.

غیر فعال کردن افزونه ها (پلاگین ها)

چه از وردپرس استفاده کنید، چه جوملا و چه هر سیستم مدیریت محتوای دیگری، روی سیستم مدیریت محتوای خودتان یک سری افزونه یا پلاگین (یا ماژول) دارید که شاید فعال بودن آن‌ها منجر به خطای ۵۰۰ شود.

پس روش بعدی این است که تک تک افزونه‌های سایت را غیرفعال کنید و ببینید با غیر فعال کردن کدام افزونه، خطای internal server error 500 سایت شما از بین می‌رود.

اگر به مدیریت سایت دسترسی ندارید، سطح دسترسی پوشه Plugins را از طریق File manager به صفر تغییر دهید.

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

بررسی تنظیمات پایگاه داده (Database)

مشخصات دیتابیس ایجاد شده در هاست حتما باید با مشخصات درج شده در فایل wp-config.php یکسان باشند.

به عنوان مثال در صورتی که سایت با وردپرس طراحی شده است، نام دیتابیس- نام یوزر دیتابیس و رمز باید با نام دیتابیس- نام یوزر دیتابیس و رمز یوزر ایجاد شده در هاست یکسان باشد.

تغییر قالب به قالب پیش‌فرض وردپرس

گاهی وقت‌ها ممکن است خطای ۵۰۰ وردپرس به‌خاطر قالبی که استفاده می‌کنید باشد که برای اطمینان و راهکار نهایی می‌توانید قالب فعلی را غیرفعال کرده و از یکی از قالب‌های پیش‌فرض وردپرس استفاده کنید.

اگر به پیشخوان وردپرس دسترسی دارید به مسیر نمایش > پوسته‌ها مراجعه کرده و یکی از قالب‌های پیش‌فرض وردپرس را انتخاب کرده و روی دکمه فعال کردن کلیک کنید.

قالب ها وردپرس

توجه: اگر دسترسی به پیش‌خوان وردپرس ندارید برای غیرفعال کردن قالب فعلی وارد هاست شده و در File Manager به مسیر public_html/wp-content/themes مراجعه کنید. سپس پوشه قالبی که در حال استفاده از آن هستید را انتخاب کرده و روی آن راست کلیک کنید. گزینه Rename را انتخاب کرده و در پنجره باز شده نام دلخواهی برای پوشه قالب انتخاب نموده و ذخیره کنید. در این صورت قالب غیرفعال شده و یکی از قالب‌های پیش‌فرض وردپرس به عنوان قالب سایت فعال خواهد شد. سپس می‌توانید سایت را بررسی کنید و ببینید که آیا همچنان خطای ۵۰۰ در سایت نمایش داده می‌شود یا خیر!

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

دقت داشته باشید که در این روش حتما باید یکی از قالب‌های پیشفرض وردپرس در سایت وجود داشته باشند. پس اگر پوشه‌ای به جز پوشه قالب در این مسیر از هاست وجود ندارد قبل از انجام این‌کار به آدرس fa.wordpress.org مراجعه کنید. سپس از داخل فایل zip دانلود شده به مسیر wp-content/themes مراجعه کرده و یکی از پوشه‌ها را در هاست آپلود کنید.

خرابی فایل های وردپرس

گاهی ممکن است فایل‌های اصلی هسته وردپرس شما خراب شده باشد. قبل از اعمال تغییرات حتما از اطلاعات بکاپ تهیه کنید، سپس آخرین نسخه وردپرس را از وب‌سایت رسمی آن دانلود کنید. حالا پوشه wp-content و فایل wp-config.php را از فایل دانلودی حذف کرده و سایر پوشه‌ها و فایل‌های موجود را با پوشه و فایل موجود در هاست خود تعویض کنید.

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

سطوح دسترسی

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

کمک گرفتن از پلاگین های دیباگینگ

شما با استفاده از پلاگین‌های WP Debugging هم می‌توانید عملیات بررسی خطا و رفع آن را انجام دهید. این پلاگین‌ها اطلاعات دقیق و کاملی را در مورد خطاهای ۵۰۰ در اختیار شما قرار خواهند داد. از جمله ابزارهای مطمئن و سریع در این مورد می‌توان به Debug Bar اشاره کرد که تمامی قابلیت‌های مورد نیاز را در اختیار شما قرار خواهد داد.

خطرات ارور ۵۰۰ چیست؟ تاثیر روی سئو سایت

خطرات ارور ۵۰۰ چیست؟ مطمئنا خطاهای سرور تاثیر منفی روی عملکرد سایت و تجربه کاربری دارند. به همین دلیل است که وجود خطاهای این چنینی به صورت مستقیم روی سئو سایت و رتبه‌بندی آن تاثیر منفی خواهد داشت. بنابراین، بهتر است در زمان مشاهده چنین خطایی به سرعت در مسیر رفع آن قدم بردارید. بهتر است هر از چند گاهی یک بررسی کلی از وب‌سایت انجام دهید تا در صورت مشاهده خطاهای این چنینی آن‌ها را برطرف کنید.

حرف آخر

در این مطلب سعی کردیم تا به سوال ارور ۵۰۰ چیست جواب دهیم. با طی کردن مراحل بیان شده به راحتی می‌توانید از مشکلات این خطا رهایی پیدا کنید. ما راه‌های مختلف برای حل مشکل خطای ۵۰۰ را پیش پایتان گذاشتیم؛ اگر در هر کدام از این راه‌ها به مشکل خوردید، حتما در بخش نظرات مشکلتان را مطرح کنید تا شما را راهنمایی کنیم. اگر این مقاله برایتان مفید بود، آن را با دوستان خود به‌ اشتراک بگذارید.

سوالات متداول

۱. دلیل اصلی خطا ۵۰۰ سرور چیست؟

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

۲. بهترین روش برای رفع ارور ۵۰۰ در وردپرس چیست؟

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

منابع

developer

hubspot

9 پاسخ

  1. سلام
    خدا خیرتون بده مطلب بسیار مفیدی بود.
    من میخاستم قالب نصب کنم که این مشکل برام پیش اومد و سایتم پرید.
    حالا برعکس تمام قالب های پیش فرض رو هم پاک کرده بودم که تو این مطلب به این نکته هم اشاره شده بود.
    با کمک مطلب شما مشکلم خیلی راحت حل شد.
    متشکرم

    1. ممنون از نظر انرژی‌بخش‌تون آقای قناد؛ خیلی خوشحالیم که مقاله براتون مفید بوده 🙂

  2. سلام وقت بخیر
    دو هفته پیش یک ایمیل از سمت Cpanel برای من اومد که اخطار پر شدن ۸۰ درصد از دیسک رو می داد
    چند روز بعد خود به خود سایت من با ارور ۵۰۰ مواجه شد و از اون روز دسترسی به سایت امکان پذیر نیست آیا امکانش هست که بخاطر پر شدن ظرفیت دیسک سایت از دسترس خارج شده باشه ؟
    ممنون میشم راحنمایی بفرمایید

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

      درباره بررسی ارور لاگ هم تو لینک زیر توضیح دادیم:
      https://hub.iranserver.com/index.php?rp=/knowledgebase/1015/%D9%85%D8%B4%D8%A7%D9%87%D8%AF%D9%87-%D9%84%D8%A7%DA%AF-%D8%AE%D8%B7%D8%A7%D9%87%D8%A7-%D8%AF%D8%B1-%D8%AF%D8%A7%DB%8C%D8%B1%DA%A9%D8%AA-%D8%A7%D8%AF%D9%85%DB%8C%D9%86.html&__cf_chl_jschl_tk__=pmd_enTkJaoQSiFBehjbFDA8VHjCmIQZg32xvTsXTI3akkI-1629609619-0-gqNtZGzNAyWjcnBszQt9

  3. سلام خسته نباشید من این ارور چند وقت یکبار دریافت می کنم مثلا ده بار صفحه مورد خطا به درستی اجرا میشه و بار یازدهم با ارور http error 500 رو برو می شم و با رفرش سایت مشکل حل میشه ولی خب این روند دوباره تکرار میشه و سرچ کنسول گوگل هم این ارور به من به عنوان خطا نشون می ده و این مشکل از وقتی شروع شد که من از المنتور برای طراحی سایت استفاده کردم و الان هم المنتور پرو تهیه کردم و برای همین نیاز دارم این خطا رفع کنم بدون اینکه المنتور پرو حذف کنم تم سایت من هم سلام المنتور هست الان من باید چیکار کنم دقیقا که این خطا دیگه اصلا نمایش داده نشه و اینکه از افزونه کش راکت استفاده می کنم
    البته هر از گاهی هم خطا با این مضمون دریافت می کنم از بعضی از صفحات که خطای مهم در وردپرس شما روی داده و پایینش هم لینک به مخزن آموزش رفع خطا وردپرس می ده
    خیلی لطف بزرگی می کنید اگه من رو راهنمایی نمایید کنید که هردوی این خطا ها رو رفع کنم بدون حذف المنتور و تم
    منتظر جوابتون هستم
    احسان اسمعیلی

    1. سلام
      نیاز است ارور لاگ سایت را بررسی کنید تا ببینید در زمان خطای سایت چه اروری ثبت می شود، همچنین ممکن است بدلیل کمبود منابع سرور این مشکل رخ می دهد.

  4. سلام لطفا راهنمایی کنید.
    پشتیبانی هاست علت رو از خود سایت عنوان کرد.
    خطای فایل erro_log
    [۲۵-Oct-2019 18:02:01 UTC] PHP Fatal error: Cannot access property WP_Recovery_Mode::$cookie_service in /home/test/public_html/wp-includes/class-wp-recovery-mode.php on line 80

    و حالا لاین ۸۰ از فایلی که خطا داشت:
    $this->cookie_service = new WP_Recovery_Mode_Cookie_Service();
    $this->key_service = new WP_Recovery_Mode_Key_Service();
    $this->link_service = new WP_Recovery_Mode_Link_Service( $this->cookie_service, $this->key_service );
    $this->email_service = new WP_Recovery_Mode_Email_Service( $this->link_service );

    1. این خطا مربوط به تنظیمات هاست نیست، وردپرس را مجدد بروزرسانی نمایید و در صورت عدم رفع مشکل فایل class-wp-recovery-mode.php را از وردپرس خام جایگزین نمایید.

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

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