وقتی وردپرس خراب میشود، بررسی کردن دلیل خطا میتواند بسیار خسته کننده باشد. این موقعیت زمانی آزاردهنده تر میشود که مشکل برای ساعتها حل نمیشود و از استفاده از بخش مهمی از وبسایت شما ممانعت میشود. آیا در صفحه بروزرسانیها خطای عجیبی را دریافت میکنید که از ارتقای هسته وردپرس یا حتی قالب و افزونههای شما جلوگیری میکند؟ گاهی این مشکل به طور خودکار حل میشود، اما اگر مدت زمان طولانیتری منتظر مانده باشید و همچنان به این پیام گیر کردهاید، احتمالاً به طور خودکار حل نمیشود. بیایید دلایل این مشکل را بررسی کنیم و چند راه پیشنهادی برای بازگرداندن عملکرد صحیح وبسایتتان را مطرح کنیم.
دلایل خطای بروزرسانی در جریان است
در حالت عادی که وبسایت شما بدرستی عمل میکند، با رفتن به صفحه داشبورد > بروزرسانیها نسخه فعلی وردپرس شما را نشان میدهد. و شما در این بخش میتوانید بروزرسانی برای هسته وردپرس، قالب یا افزونههای خود را آغاز کنید. اما اگر وبسایت شما اخیراً بروزرسانی شده باشد، ممکن است هنگامی که سعی میکنید هر چیزی را بروزرسانی یا مجدداً نصب کنید متوجه یک پیام کوتاه با مظنون "بروزرسانی دیگر در حال انجام است" شوید.
این خطا باعث حذف تمام دکمههای بروزرسانی و جلوگیری از انجام هر چیز دیگری در صفحه میشود. اگر میدانید که به تازگی یک بروزرسانی انجام داده اید، این خطا برای جلوگیری از کرش کردن و خرابی وبسایت شما، در حالی که یک بروزرسانی در حال دانلود میباشد، است.
اگر شما خودتان بروزرسانی را انجام نداده اید، ممکن است توسط عملکرد بروزرسانی خودکار یا یک کاربر دیگر در وبسایت شما با سطح دسترسی بالا، فرآیند بروزرسانی را آغاز کرده باشد. اما این خطا در صورتی نرمال است که این صفحه را هنگام اجرای یک بروزرسانی ببینید، اما در صورتی که ساعتها در آن مانده و متوقف شود طبیعی نیست و باید کاری انجام دهید.
وردپرس عمدا دیتابیس شما را قفل میکند، اما گاهی اوقات این قفل به درستی برداشته نمیشود. ممکن است بروزرسانی به دلیل یک قطعی اتصال سرور یا چیز دیگری، به درستی پایان نیابد، اما شما ممکن است در صفحه "بروزرسانی در حال انجام است" گیر کنید.
چرا بروزرسانیهای هسته دیتابیس وردپرس را قفل میکند
چرا وردپرس عمدا امکان دسترسی به صفحه بروزرسانیها را مسدود میکند؟ هرگاه وردپرس یک بروزرسانی هسته را اجرا میکند، یک ردیف به دیتابیس اضافه میکند تا از اجرای هر گونه بروزرسانی دیگر (شامل بروزرسانیهای پلاگین و قالب) در طول بروزرسانی جلوگیری کند، که گاهی تا ۱۵ دقیقه پس از اتمام نیز طول میکشد. این اهمیتی ندارد که بروزرسانی ۵ ثانیه طول بکشد تا نصب شود؛ بروزرسانیها همچنان برای ۱۵ دقیقه مسدود خواهند شد.
برای این کار دلیل خوبی وجود دارد. اگر یک جدول دیتابیس همزمان از دو منبع مختلف بهروزرسانی شود، ممکن است منجر به کرش کردن دیتابیس و از دست دادن دیتا های شما در وبسایت شود. به عنوان مثال، اگر یک قالب و یک بهروزرسانی اصلی را همزمان اجرا کنید، احتمال کمی وجود دارد که هر دو عملیات در نهایت یک جدول پایگاه داده را تغییر دهند و کل سایت شما را از بین ببرند. این قفل بهروزرسانی از آسیب رساندن به سایت و دادههای مهم شما یا هر روال بهروزرسانی خودکار دیگری جلوگیری میکند. به همین دلیل است که توصیه میشود شما ۱۵ دقیقه منتظر بمانید و سعی نکنید به صورت دستی قفل را بردارید تا بروزرسانی بعدی را اجرا کنید، زیرا ممکن است پیامدهای جدی داشته باشد.
اما اگر شما منتظر ماندهاید و صفحه بروزرسانی شما بطور خودکار درست نشد، شما نیاز به اقدام دستی دارید. نگران شدن و دستکاری دیتابیس بلا فاصله اشتباه است، بعد از شروع یک بروزرسانی، حدود ۱۵ دقیقه پیام "بروزرسانی در حال انجام است" را مشاهده کردن کاملاً طبیعی است، پس فورا اقدام به دستکاری دیتابیس خود نکنید. اما اگر مدتی صبر کردهاید و هنوز هم این خطا را مشاهده میکنید، احتمالاً زمان آن است که نیاز به اقداماتی از سوی شما وجود دارد.
حداقل یک ساعت از زمانی که اولین بار پیام را مشاهده کردید صبر کنید، سپس یکی از این مراحل را امتحان کنید. همیشه به یاد داشته باشید که پیش از ویرایش هر نوع فایلی، حتما از دیتابیس و وبسایت خود را بکاپ کامل تهیه نمایید، بهویژه اگر با این فرایندها آشنایی ندارید. و در صورتی که هیچکدام از این مراحل کار نکردند میتوانید این مورد را با پشتیبانی میزبان خود مطرح و از آنها کمک درخواست کنید.
استفاده از افزونه
معمولاً برطرف کردن این مشکل نیاز به کاوش در دیتابیس شما یا آشنایی با ابزارهای توسعهدهنده پیشرفته مانند WP-CLI دارد، اما اگر نمیخواهید هیچ چیز را خراب کنید، یک گزینه بسیار ساده دیگر وجود دارد.
افزونه Fix Another Update In Progress دقیقاً همان کاری را انجام میدهد که در نام آن ذکر شده است. این افزونه قدیمی است و از آخرین آپدیت آن زمان زیادی میگذرد، اما بررسیهای اخیر نشان میدهد که هنوز هم خوب کار میکند (و بیش از ۱۰ هزار نصب فعال برای آن مستند است). گزینههای دیگر زیادی موجود نیستند، بنابراین این بهترین گزینه در مخزن وردپرس است. برای نصب، این افزونه را بهصورت دستی دانلود کرده و روی فعال کردن کلیک کنید. هنگامی که آن را فعال میکنید، یک منوی جدید زیر تنظیمات به نام Fix Another Update In Progress مشاهده میشود.
اگر قفل را در دیتابیس شما شناسایی کند، این صفحه را نشان میدهد.
فقط بر روی دکمه Fix WordPress Update Lock کلیک کنید و اختلال دیتابیس باید بهصورت فوری حذف شود. بعد از آن، آماده است و صفحه "بروزرسانیها" شما باید قابل استفاده باشد. روش خوبی نیست که افزونههای استفادهنشده را در وبسایت خود بگذارید بماند، پس میتوانید بعد از رفع این اختلال این افزونه را حذف کنید.
استفاده از PhpMyAdmin
حتی اگر تا بحال هیچوقت تغییری در دیتابیس خود انجام نداده اید، این روش یکی از راهحلهای نسبتاً آسان و ایمن است البته تا زمانی که به تنظیمات حساسی دست نزنید. فقط اطمینان حاصل کنید که قبل از تغییر هر چیزی در دیتابیس خود یک پشتیبانی تهیه کرده و فقط یک ردیف خراب را حذف کنید.
ابتدا باید وارد PhpMyAdmin شوید. که میتوانید از طریق پنل کاربری خود اقدام نمایید اگر از یک میزبان متفاوت استفاده میکنید، معمولاً میتوانید از طریق cPanel به آن دسترسی پیدا کنید.
در منوی سمت چپ، دیتابیس سایت خود را باز کرده و wp_options را انتخاب کنید.
هنگامی که روی wp_options کلیک کردید، باید جدولی از ورودی های مختلف پایگاه داده را مشاهده کنید. ممکن است آن را درست در لیست ببینید، یا ممکن است جدول شما خیلی بزرگ باشد. اگر نتوانستید آن را پیدا کنید، از نوار ردیفهای فیلتر بالای جدول استفاده کنید و «core_updater.lock» را وارد کنید تا جستجو انجام شود.
اکنون فقط روی Delete در ردیف "core_updater.lock" کلیک کنید. و تمام! اکنون میتوانید به وردپرس برگردید و سایت خود را دوباره به روز کنید.
در این آموزش، به شما نحوه رفع خطای "یک بروزرسانی دیگر در جریان است" در وردپرس را توضیح دادیم. امیدواریم این مقاله آموزشی برای شما مفید بوده باشد، در صورتی که درباره این آموزش به مشکل یا سوالی برخورد کردید، میتوانید آن را در بخش دیدگاه بیان کنید.
آموزش های مرتبط: