آموزش رفع خطای ۵۰۳ Service Unavailable سایت خود

هر سیستم و وب سایتی فارغ از نوع آن ممکن است با انواع خطاها رو به رو شود. یکی از رایج ترین خطاهایی که در بین وب سایت ها دیده می شود خطای ۵۰۳ Service Unavailable است. در این آموزش از وب داده قصد داریم تمام علل بروز این خطا به همراه روش های رفع آن را با هم بررسی کنیم.

خطای ۵۰۳ Service Unavailable

دلیل اصلی بروز خطای ۵۰۳ Service Unavailable روشن نیست. واقعیت این است که این خطا می تواند بخاطر موارد متعددی ایجاد شود. علاوه بر این، پیکربندی سرور نیز در بروز آن تاثیر گذار است. برای مثال، خطای ۵۰۳ می تواند به شکل های مختلفی مثل موارد زیر روی مرورگر نمایش داده شود:

  • ۵۰۳ Service Unavailable
  • Http/1.1 Service Unavailable
  • HTTP Server Error 503
  • ۵۰۳ Error
  • HTTP 503
  • HTTP Error 503

رفع خطای ۵۰۳ Service Unavailable نسبتا آسان است. در این پست دقیقا به شما نشان می دهیم که چگونه آن را رفع کنید.

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

علل بروز خطای ۵۰۳ Service Unavailable در سایت

خطای ۵۰۳ Service Unavailable ممکن است به دلالیل متعددی نمایش داده شود اما شایع ترین آن ها موارد زیر است:

  • افزونه یا قالب هایی که در ماهیت خود باگ یا نقصی دارند.
  • اسکریپت php ناسازگار
  • منابع سرور ناکافی
  • سرور
  • حملات مخرب مانند DDoS

در ادامه راه حل های مختلفی برای رفع خطای ۵۰۳ Service Unavailable تشریح خواهیم کرد.

افزونه های باگ دار

پلاگین های جعلی یا نال شده باعث بروز بسیاری از خطاهایی هستند که در WordPress یا سایر سیستم های مدیریت محتوا می بینید. در حقیقت، یک افزونه ناقص عامل اصلی بروزخطای ۵۰۳ یا در دسترس نبودن سرویس در وردپرس و سایرسیستم ها است.

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

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

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

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

این کار تمام افزونه ها را یک باره غیرفعال می کند. حالا وب سایت خود را دوباره بارگذاری کنید. اگر خطای ۵۰۳ از بین رفته باشد، یک افزونه باعث بروز خطا در وب سایت شما شده است. اکنون باید به بخش افزونه ها مراجعه و افزونه مشکوک که شناسایی کرده اید را حذف کنید. بعد از آن مجددا به هاست خود بازگردید و نام پوشه پلاگین ها را مجددا به plugins تغییر دهید و بعد از آن از طریق مرورگر به صفحه داشبورد مدیریت وردپرس خود وارد شوید و افزونه های خود را یکی یکی فعال کنید.

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

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

کدهای PHP نامعتبر

در بعضی موارد، کدهای ثانیویه توسط سرویس های خارجی یا قطعه کدهای اضافه شده به سایت شما می تواند موجب بروز خطای ۵۰۳ شود. اما سوال اینجاست که چگونه می توان تشخیص داد چه کدهای در وب سایت مشکل دارند و روی عملکرد وردپرس تاثیر منفی می گذارن؟ باید در مواقعی که سایت مشکلی ندارد و به صورت عادی عملکرد خوبی دارد از یک افزونه اشکال زدایی مثل Query Monitor یا Debug Bar استفاده کرد و یک گزارش کلی گرفت.

فعال کردن  حالت خطایابی WP_DEBUG

در اغلب موارد بروز خطای ۵۰۳ موجب قفل شدن وب سایت یا عدم دسترسی به پیشخوان وردپرس خواهد شد. یا حتی هیچ سرنخی از دلیل بروز آن در دسترس نیست. در چنین شرایطی می توانیم از امکانات وردپرس مثل خطایابی WP_DEBUG و WP_DEBUG_LOG ، WP_DEBUG_DISPLAY و  @ini_set در وردپرس استفاده کنیم. برای فعال کردن حالت خطایابی یا دیباگ وردپرس جهت نمایش پیغام های خطا و دلیل بروز آن ها مراحل زیر را دنبال کنید:

  1. پوشه ریشه وردپرس خود را از طریق FTP یا فایل منیجر هاست باز کنید.
  2. فایل wp-config.php را باز کنید.
  3. در پایین فایل جایی که WP_DEBUG تعریف شده رجوع کنید. در حالت پیش فرض خطی مشابه define ('WP_DEBUG', false); در فایل وجود دارد. که باید مقدار آن را تغییر داد. در صورتی که این عبارت وجود نداشت آن را به صورتی دستی در بالای خط  /*That's all, stop editing! Happy blogging.*/ /*That's all, stop editing! Happy blogging.*/ اضافه کنید.
  4. کد های سحر آمیز DEBUG را وارد کنید. در این مرحله قطعه کد define (‘WP_DEBUG’, false); را همراه با عبارت های زیر تغییر دهید:
define ('WP_DEBUG', true);
define ('WP_DEBUG_LOG', true);
define ('WP_DEBUG_DISPLAY', false);
@ini_set ('display_errors', 0);

در نهایت تغییرات خود را ذخیره کنید.

اکنون، سایت خود را مجددا بارگذاری کنید تا خطای ۵۰۳ که داشتید نمایش داده شود. سپس به پوشه ریشه وردپرس و دایرکتوری wp-content خود خود مراجعه کرده و فایلی به نام debug.log را بیابید. این فایل حاوی تمام خطاهای وب سایت شما است. اگر خطای ۵۰۳ به خاطر مشکلات php یا کدهای سفارشی رخ داده باشد در فایل debug.log گزارش کامل به همراه نحوه رفع آن را مشاهده خواهید کرد. با حذف یا جیگزینی قطعه کد مشکل سازی خطای ۵۰۳ نیز باید رفع گردد. در صورتی که این راه حل هم پاسخگوی مشکل شما نبود تنظیمات سرور و منابع خود را چک کنید.

منبع : +

 

 

 

لینک کوتاه مطلب :

دیدگاهتان را ثبت کنید

آدرس ایمیل شما منتشر نخواهد شدعلامتدارها لازمند *

*