شما این محصولات را انتخاب کرده اید

سبد خرید

شناسه پست: 7486
بازدید: 386

آیا تا به حال با خطای 503 در سایت وردپرسی خود مواجه شده اید؟ این خطا فقط به ما می گوید سرویس در دسترس نیست. همین! مشکلی که در مورد ارور 503 وجود دارد این است که، هیچ سرنخی درمورد علت ایجاد آن بیان نمی کند و این باعث می شود کاربران مبتدی بسیار نا امید شوند. در این مقاله به شما نحوه رفع خطای 503 را در سایت های وردپرسی نشان خواهیم داد.
خطای 503 Service Unavailable در وردپرس یکی از مشکلات شایعی هست که معمولا در بیشتر سایت‌ها رخ میده و مطمئنا تا به حال سایت شما هم چندین بار با این مشکل مواجه شده و یا اینکه حداقل در سایت های دیگه با این خطا مواجه شدید. خطای 503 در وردپرس به دلایل مختلفی میتونه رخ بده که برای رفع ارور 503 در وردپرس باید تک تک این عوامل را بررسی کنید و ببینید مشکل از کجای سایت هست و اونو رفع کنید. معمولا بیشترین دلایلی که باعث بروز ارور 503 در وردپرس میشه شامل موارد زیر هستند.

  • وجود باگ و خطای برنامه نویسی در کدهای قالب و افزونه وردپرس
  • ایجاد ناسازگاری در اجرای کدهای PHP به دلیل تغییرات انجام شده روی سرور
  • کم بودن میزان منابع هاست و مصرف بیش از حد منابع هاست و CPU در وردپرس
  • انجام حملات مخرب روی هاست به صورت DDOS
  • و…

چه عواملی باعث ایجاد خطای 503 در وردپرس شده است؟

خطای service unavailable 503 هنگامی رخ می دهد که سرور وب سایت شما قادر به دریافت پاسخ مناسب از یک اسکریپت PHP نیست. این اسکریپت PHP می تواند یک افزونه وردپرس، یک قالب یا یک قطعه کد سفارشی php باشد. بیایید دلایل رخ داد این خطا، سپس روش های رفع آن را بررسی کنیم.
همه شرکت های ارائه دهنده هاست اشتراکی میزان ثابتی از منابع را برای هر حساب کاربری ارائه می دهند. بنابراین برای وب سایت های مستقر بر هاست های اشراکی، محدودیت استفاده از منابع سرور وجود دارد. یکی از دلایل رخداد خطای 503 زمانی است که سرور منابع مورد نیاز را برای اجرای اسکریپ های سایت شما در اختیار نداشته باشد.
یکی دیگر از دلایل رخدادن خطای 503 در اثر استفاده سنگین از منابع سرور یا حمله DDoS است. در این شرایط معمولا این خطا به طور خودکار و بعد از چند دقیقه از بین می رود. حمله‌ دی داس زمانی رخ می‌دهد که حجم زیادی از تقاضا به صورت عمدی به‌ سمت سرور سایت هدایت می شود. این درخواست ها باعث کندی سرور یا حتی از کار افتادن سرویس می‌شود. هدف هکر نیز دقیقا ازکار انداختن سایت شما است.
اما اگر ارور 503 به دلیل کد های حاوی خطا در وب سایت شما ایجاد شده باشد، این خطا ادامه خواهد داشت، مگر اینکه کدی که باعث ایجاد آن شده را پیدا و غیرفعال کنید. ما قصد بررسی این نوع خطاها را داریم. هر چند گذری هم به سایر روشهای رفع خطای 503 خواهیم انداخت.
نکته: در صورتیکه سایت شما منابع بیشتری نیاز دارد باید فکر هاست های اشتراکی را از سر خود بیرون کنید. چون این احتمال وجود دارد با کمبود منابع مواجه شوید و این می تواند به از دست دادن کاربران شما منجر شود.
 

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

اما گاهی پیش میاد که نه تنها به پیشخوان وردپرس دسترسی ندارید بلکه به دلایلی امکان مشاهده فایل error_log را هم ندارید. پس در این صورت باید کلیه افزونه‌ها را از طریق هاست غیرفعال کنید. برای این منظور هم باید به مسیر /public_html/wp-content/ در File Manager هاست مراجعه کرده و پوشه plugins را انتخاب کرده و بعد از راست کلیک کردن روی پوشه گزینه Rename را انتخاب کنید. حالا به انتهای نام پوشه عبارت old- یا یک عدد را اضافه کنید.
خطای 503
 
این نام میتونه هر اسمی باشه به جز plugins که بعد از تغییر نام به دلیل تغییر مسیر پوشه افزونه‌ها در دیتابیس وردپرس کلیه افزونه‌ها از دسترسی خارج شده و به حالت غیرفعال شده تغییر پیدا خواهند کرد و خطای 503 در وردپرس غیرفعال خواهد شد. حالا بعد از اینکه کلیه افزونه‌ها غیرفعال شدند اگر سایت را مشاهده کنید خطای 503 رفع شده است. اما برای اینکه بدونید خطا از کدوم افزونه بوده باید یک به یک هر افزونه را از پیشخوان وردپرس فعال کنید و سپس در هر بار فعال کردن سایت را بررسی کنید و ببینید بعد از فعال کردن کدوم افزونه مجددا خطای 503 نمایش داده خواهد شد تا افزونه را شناسایی و غیرفعال کنید.
 

2. ارور 503 وردپرس به دلیل استفاده از قالب مشکل ساز

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

  • ابتدا باید با استفاده از یک سرویس دهنده FTP یا File Manager وارد cPanel هاست خود شوید. از مسیر ریشه سایت (public_html)، به wp-content سپس به پوشه themes وارد شوید.
  • قالب فعال خود را پیدا کرده و به عنوان نسخه پشتیبان در رایانه خود ذخیره کنید. برای اینکار در پوشه theme قالب خود را انتخاب و در پایین صفحه بر روی دکمه add to clipboard کلیک کنید. سپس در کادر Compress clipboard files to یک نام برای بک آپ خود وارد کنید و بر روی دکمه create کلیک کنید.
  • شما می توانید از مسیری که در مرحله قبل مشاهده کردید (در اینجا پوشه قالب هاست) فایل فشرده بک آپ خود را دانلود کنید.

 
خطای 503
 

  • پس از ذخیره کردن بک آپ ، پوشه قالب را از وب سایت خود حذف کنید. در این مثال قالب ما appart است.
  • اگر قبلاً قالب پیش فرضی مانند دو هزار و هفده یا دو هزار و شانزده را نصب کرده باشید، به صورت خودکار فعال می شود. اگر هیچ کدام از این قالبها را ندارید، می توانید یکی از قالب های پیش فرض را در وب سایت خود نصب کنید.
  • سایت خود را در مرورگ مشاهده کنید، اگر خطای 503 رفع شده و سایت شما نمایش داده شد، مشکل از قالب شماست. شما می توانید این مشکل را طراح قالب در میان بگذارید.

3 . خطا 503 وردپرس به دلیل ناسازگاری در کدهای PHP

گاهی اوقات هم پیش میاد که خطای php باعث ایجاد ارور 503 در وردپرس خواهد شد که مشخص هم نیست که خطای php رخ داده در افزونه، قالب یا هسته وردپرس بوده است. برای اینکه بدونید دلیل این کار از کجا بوده دو راهکار وجود داره که در روش اول باید بر اساس توضیحاتی که برای فایل error_log در روش اول گفتم فایل ارور لاگ هاست را بررسی کنید و ببینید که مشکل از کجاست و اونو برطرف کنید.
 

فعال کردن حالت دیباگ وردپرس

اما روش دیگری که وجود داره و با استفاده از اون میتونید بهتر متوجه خطای php در هاست شوید استفاده از دیباگ وردپرس هست. با استفاده از دیباگ وردپرس میتونید خطاهایی که در فایل‌های قالب و افزونه وردپرس وجود داره را مشاهده کرده و برطرف کنید. برای این منظور باید قطعه کدی را در فایل کانفیک وردپرس wp-config.php قرار بدین تا حالت دیباگ فعال بشه. برای این منظور وارد هاست شده و روی file manager کلیک کنید. سپس به مسیر public_html مراجعه کرده و فایل wp-config.php را انتخاب کنید. حالا برای ویرایش این فایل در هاست سی پنل روی فایل راست کلیک کرده و گزینه Edit را انتخاب کنید. سپس کدهای زیر را در بخش define این فایل یعنی بالاتر از خط /*That’s all, stop editing! Happy blogging.*/ قرار داده و ذخیره کنید.

define ('WP_DEBUG', true);

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

define ('WP_DEBUG_LOG', true);
define ('WP_DEBUG_DISPLAY', false);
@ini_set ('display_errors', 0);

به دلیل اینکه امکان دسترسی به پیشخوان وردپرس و خود سایت در حالتی که با خطای 503 در وردپرس مواجه شدید وجود نداره صرفا با فعال کرده دیباگ هیچ خطایی به شما نمایش داده نخواهد شد. بنابراین باید حالت‌های WP_DEBUG_LOG، WP_DEBUG_DISPLAY و ثابت‌های @ini_set را هم فعال کنید.
بعد از ذخیره فایل یک بار سایت خودتون را ریلود کنید. حالا به مسیر /public_html/wp-content/ مراجعه کنید. فایلی با نام debug.log در این پوشه اضافه میشه که با بررسی خطاهای موجود در این فایل میتونید بدونید مشکل ارور 503 در وردپرس به چه دلیلی هست. این فایل کلیه خطاهای موجود در سایت را در خودش ذخیره میکنه که میتونید به راحتی با بررسی منشا مشکل را پیدا کنید.

6 − پنج =