روزمرگی فنی
روزمرگی فنی
خواندن ۲ دقیقه·۳ سال پیش

حل خطای «حالت تعمیر» بعد از بروزرسانی ناموفق وردپرس + تغییر صفحه تعمیرات پیش‌فرض

وندا نوژن

هنگام بروزرسانی هسته وردپرس یا افزونه‌های آن، سایت شما به طور خودکار وارد حالت «تعمیرات و بروزرسانی» می‌شود و به صورت پیش‌فرض پیام زیر را به کاربران سایت نشان می‌دهد:

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

اگر بروزرسانی موفقیت‌آمیز باشد، این پیام هم بلافاصله حذف می‌شود.

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

وردپرس هنگام این قبیل بروزرسانی‌ها، یک فایل php موقت به اسم .maintenance.php در قسمت روت سایت (مسیر public_htm) ایجاد می‌کند که بعد از موفقیت در بروزرسانی خودبخود پاک می‌شود.

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

پس الآن باید روشن باشد که می‌توان با حذف دستی این فایل، خطای بالا را حل کرد. برای اینکار هم خیلی ساده از سی‌پنل یا دایرکتوری به قسمت مدیریت فایل و سپس مسیر public_htm می‌رویم، فایل بالا را پیدا و پاک می‌کنیم (بعد از این می‌توانیم بروزرسانی وردپرس یا افزونه‌ها را به شکل دستی و مستقیم انجام بدهیم).

نمایش صفحه دلخواه به جای صفحه پیش‌فرض «تعمیرات» وردپرس

اگر هم می‌خواهید در چنین مواردی به جای صفحه بدترکیب وردپرس صفحه‌ای با طراحی و پیام دلخواه‌ شما نمایش داده شود، امکان‌پذیر است و بهتر است که طراحی چنین صفحه‌ای به صورت یک فایل html یاPHP با حداقل کدهای ممکن باشد. چون وقتی سایت در حالت تعمیرات قرار گرفته، فرض بر اینست که همه منابع سایت مثل دیتابیس و غیره در دسترس نیستند. در نتیجه صفحه‌ای که به صورت سفارشی طراحی می‌شود هرچه سبک‌تر باشد بهتر است.

برای انجام کار کافی است که یک فایل maintenance.php ایجاد و در فولدر wp-content قرار دهیم تا جایگزین فایل پیش‌فرض وردپرس در مسیر public_htm بشود. داخل این فایل هر چیزی می‌تواند نوشته بشود.

برای نمونه من از اینجا کدهای یک قالب ساده html را برای صفحه تعمیرات وردپرس گرفتم و بعد از یک اصلاح جزئی در کدها، به عنوان maintenance.php ذخیره و در فولدر wp-content قرار دادم.

و این هم نتیجه کار و صفحه‌ای که موقع بروزرسانی افزونه‌ها نمایش داده می‌شد:



وردپرسصفحه به علت تعمیرات در دسترس نیستmaintenance phpبروزرسانی وردپرسبروزرسانی افزونه
روزها درگیر مصائب فنی، شب‌ها مشغول ثبت راه‌حل‌های یافتنی
شاید از این پست‌ها خوشتان بیاید