یکی از خطاهایی که در سایتهای وردپرسی و سایر سایتها با سیستم مدیریت محتوای اختصاصی یا عمومی رخ میدهد ارور 503 است که با خطای 503 service unavailable در وردپرس روبهرو میشویم. همانطور که پیش از این نیز در سایر مقالات اشاره کردیم دلیل ارور 503 که جزو گروه 5XX میباشد سمت سرور یا برنامه نویسی هستند که باعث اختلال بین این دو شده است.
در این آموزش قصد داریم ابتدا به این موضوع بپردازیم که ارور 503 چیست و برای رفع خطای 503 در وردپرس باید چگونه عمل کنیم.
ارور 503 چیست؟ و رفع خطای 503 در وردپرس چگونه است؟
وقتی مشکل ارور 503 در وردپرس رخ میدهد با پیغام 503 Service Unavailable مواجه میشویم که معنی آن در دسترس نبودن سرویس است. این خطا به شکلهای مختلفی خود را نشان میدهد که از جمله آن میتوان به موارد زیر اشاره کرد.
503 Error HTTP 503 HTTP Error 503 HTTP Server Error 503 503 Service Unavailable Http/1.1 Service Unavailable Error 503 Service Unavailable Service Unavailable - DNS Failure 503 Service Temporarily Unavailable
این خطا در هر نوع مرورگر، سیستم عامل، سیستم سایت ساز و هر نوع سروری رخ میدهد که با دانستن دلایل آن در هر سیستمی میتوانید آن را رفع کنید. اما مسئله مهم این است که در وردپرس باید به شکلهای زیر عمل کرد.
دیباگ وردپرس را فعال کنید
قابلیت دیباگ وردپرس یا همان حالت عیب یابی به شما در یافتن و شناسایی خطاهایی مثل این در وردپرس بسیار کمک خواهد کرد. برای اینکه سریعتر دلیل خطای 503 را پیدا کنید بهتر است آن را فعال کنید.
برای این منظور کافی است فایل wp-config.php را که در مسیر public_html قرار دارد به کمک ابزار FTP یا همان ویرایشگر خود هاست باز کرده و کدهای زیر را مشابه تصویر درون آن قرار دهید.
define( 'WP_DEBUG', true );
به این نکته دقت داشته باشید که ممکن است کد فوق در این فایل وجود داشته باشد، اما غیرفعال باشد که در این صورت به جای true مقدار آن false خواهد بود. برای فعال سازی کافی است مقدار ان را به true تغییر دهید.
در این صورت خطاهایی در صفحه سایت نمایش داده میشوند که نوع خطا، مسیر، نام فایل و شماره خط کدنویسی که باعث این خطا شده نمایش داده خواهد شد. برای آشنایی با این حالت عیب یابی وردپرس کافی است به مقاله آموزش رفع خطای syntax error در وردپرس مراجعه کنید.
بررسی فایل ارور لاگ وردپرس
ارور لاگ یا همان error_log قابلیتی است که در هر سیستم سایت سازی سعی شده از آن استفاده شود. این قابلیت در واقع نام یک فایل ساده و متنی در داخل هاست میباشد. هر زمان خطایی در سایت از نظر برنامه نویسی رخ دهد جزییات خطا در این فایل ذخیره میشود تا بدانید علت ارور 503 و سایر خطاهای این چنینی از کجاست.
این فایل خطاها را مانند تصویر زیر نمایش میدهد که در هر خط یک خطای ثبت شده ثبت میشود. خطاهای ثبت شده که به صورت گزارش هستند، ابتدا از زمان وقوع خطا خبر میدهند که تاریخ دقیق رخ دادن خطا همراه با ساعت در آن درج شده است. سپس نوع خطا نمایش داده میشود که اگر با خطای HTTP ERROR 503 مواجه شده باشید و دلیل آن از سمت برنامه نویسی باشد، نوعی گزارش روی PHP Warning خواهد بود که نشان از خطای برنامه نویسی php دارد.
در نهایت توابع مختلف برای دلیل این خطا درج شده و مسیر این فایل نیز نمایش داده خواهد شد که از کدام فایل میباشد. در نهایت میتوانید مسیر مورد نظر را دنبال کرده و ببینید چه خطای برنامه نویسی وجود دارد که باعث به وجود آمدن مشکل Error 503 Service Unavailable شده است. در تصویر بالا مشخص شده است که در تاریخ 25 جولای 2019 تغییراتی در فایل فانکشن وردپرس در خطوط 930، 936، 939، 946 و 947 داده شده که از نوع خطای php میباشند.
غیرفعال کردن افزونهها در وردپرس
اگر به تازگی افزونهای را آپدیت کردید یا اینکه درست پس از نصب افزونه در وردپرس با مشکل خطای 503 وردپرس مواجه شدید، ممکن است افزونه مورد نظر باعث ایجاد این مشکل شده باشد که یافتن آن بسیار ساده است. اما گاهی اوقات پیش میآید که این مشکل از سمت افزونه وردپرس میباشد با اینکه نه افزونهای به تازگی نصب شده و نه اینکه آپدیت شده است.
در این صورت میتوانید با غیرفعال کردن همه افزونهها در وردپرس از این موضوع مطمئن شوید. اگر مشکل برطرف شد اطمینان حاصل کرده و حال برای اینکه بدانید کدام افزونه دلیل ارور 503 وردپرس شده کافی است با هر با فعال کردن هر افزونه یک بار سایت را چک کنید تا در نهایت به افزونه معیوب برسید.
- در صورتی که دسترسی به پیشخوان وردپرس دارید، کافی است به منوی افزونهها مراجعه کرده و کلیه افزونههای وردپرس را غیرفعال کنید. سپس با فعال کردن هر افزونه سایت را بررسی کنید.
- در صورتی که دسترسی به پیشخوان وردپرس ندارید، باید از مسیر file manager هاست خود یا اینکه ابزار FTP به مسیر /public_html/wp-content/ مراجعه کنید. سپس نام پوشه plugins را به کمک گزینه rename نام دیگری مثل plugins.test تغییر نام داده و ذخیره کنید.
در این صورت کلیه افزونههای وردپرس غیرفعال خواهند شد. حال کافی است به همان روش اول یکی یکی افزونههای خود را فعال کرده و در هر بار فعال کردن افزونه خاصی بررسی کنید که خطا 503 چه زمانی رخ میدهد تا افزونه معیوب را پیدا کنید.
استفاده از قالب پیشفرض وردپرس
برای اطمینان از اینکه علت ارور 503 وردپرس از سمت قالب است کافی است وارد پیشخوان وردپرس شده و قالب پیشفرض را فعال کنید. اگر دسترسی به پیشخوان وردپرس ندارید میتوانید وارد file manager هاست خود شده یا اینکه با ابزار FTP به مسیر /public_html/wp-conten/themes/ مراجعه کنید. سپس نام پوشه قالب فعال خود را به کمک گزینه rename به نام دیگری مثل theme-name تغییر داده و ذخیره کنید.
در این صورت قالب فعلی غیرفعال شده و از قالب پیش فرض وردپرس استفاده خواهد شد. دقت کنید که حتما باید یکی از قالب های پیشفرض وردپرس در پوشه themes وجود داشته باشند.