وبلاگ نت‌آرامآموزش، تجربه و راهکارهای زیرساخت

رفع خطای «به‌روزرسانی دیگری در حال انجام است» در وردپرس، بدون به‌هم‌زدن سایت

راهنمای تشخیص به‌روزرسانی فعال و رفع قفل core_updater.lock با WP-CLI یا phpMyAdmin، همراه با پشتیبان و آزمایش نهایی.

انتشار:
توسط تیم فنی نت‌آرام
۹ دقیقه زمان مطالعه
۰ دیدگاه
محتوای تخصصی، ساده و کاربردی
هماهنگ با هویت حرفه‌ای نت‌آرام
بازگشت به لیست مقالات
تصویر شاخص مقاله رفع خطای «به‌روزرسانی دیگری در حال انجام است» در وردپرس، بدون به‌هم‌زدن سایت در وبلاگ نت‌آرام
محتوای آموزشی وبلاگ نت‌آرام
روی به‌روزرسانی وردپرس می‌زنید و پیام «به‌روزرسانی دیگری در حال انجام است» را می‌بینید. وردپرس برای اینکه دو به‌روزرسانی هسته هم‌زمان فایل‌های یکدیگر را خراب نکنند، هنگام شروع کار یک قفل موقت می‌گذارد. اگر یک به‌روزرسانی واقعاً در جریان باشد، این قفل مفید است. اگر کار قبلی قطع شده باشد، ممکن است پس از پایان آن هم مدتی باقی بماند.
هدف این مقاله این است که اول مشخص کنید آیا عملیات هنوز مشغول است، سپس فقط در صورت نیاز، قفل مربوط به به‌روزرسانی هسته وردپرس را بررسی کنید. اگر خطا را افزونه یا پوسته خاصی با متن متفاوت نشان می‌دهد، ممکن است قفل و روش آن جدا باشد؛ حذف تنظیمات هسته الزاماً مشکل افزونه را حل نمی‌کند.

پیش از هر کاری: سایت را سالم نگه دارید

۱. صفحه به‌روزرسانی را پشت سر هم تازه‌سازی نکنید و در چند تب هم‌زمان دکمه به‌روزرسانی را نزنید. اگر همکار یا ابزار مدیریت خودکار دارید، از او بپرسید آیا اکنون به‌روزرسانی در حال اجراست.
۲. اگر صفحه‌ای پیشرفت دانلود، نصب یا به‌روزرسانی پایگاه داده را نشان می‌دهد، بگذارید کامل شود. قطع عملیات یا حذف قفل در میانه آن ممکن است دو عملیات هم‌زمان ایجاد کند و فایل‌ها را در وضعیت ناقص بگذارد.
۳. پیش از تغییر پایگاه داده یا فایل‌ها، از فایل‌های سایت و پایگاه داده نسخه پشتیبان قابل بازیابی بگیرید. در فروشگاه فعال، زمان کم‌ترافیک را انتخاب کنید و اثر بازگرداندن پایگاه داده بر سفارش‌های جدید را در نظر داشته باشید؛ بازگرداندن کل سایت یک اقدام معمول برای رفع این قفل نیست.
۴. اگر نسخه آزمایشی دارید، ابتدا روش را روی همان نسخه امتحان کنید. اگر تنها مسیر مدیریت سایت را در اختیار ندارید یا از انجام تغییر مطمئن نیستید، ادامه را با مدیر مجاز سرویس انجام دهید.

مرحله اول: کمی صبر کنید و وضعیت را دوباره ببینید

قفل به‌روزرسانی هسته در نسخه‌های رایج وردپرس زمان انقضا دارد؛ در کد فعلی هسته برای این قفل معمولاً ۱۵ دقیقه در نظر گرفته شده است. این عدد را تضمین پایان همه کارهای سایت ندانید: عملیات واقعی، کش یا سازوکارهای افزونه ممکن است وضعیت متفاوتی داشته باشند.
اگر زمان پایان کار قبلی را می‌دانید، پس از آن مدتی صبر کنید، صفحه پیشخوان ← به‌روزرسانی‌ها را یک بار باز کنید و نتیجه را بخوانید. اگر پیام از بین رفت، وضعیت نسخه هسته، افزونه‌ها و پیام‌های خطا را ببینید و فقط یک بار به‌روزرسانی لازم را شروع کنید. اگر صفحه واقعاً در حال کار است یا زمان و وضعیت عملیات مشخص نیست، به مرحله حذف قفل نروید.
مثال: مدیری در ساعت ۱۰:۰۰ به‌روزرسانی را آغاز کرده و مرورگرش هنگام دانلود قطع شده است. ساعت ۱۰:۰۲ همکار دیگری پیام قفل می‌بیند. کار درست این نیست که فوراً قفل را حذف کند؛ ابتدا باید با مدیر اول و وضعیت واقعی کار هماهنگ شود و منتظر پایان عملیات بماند. اگر بعد از گذشت زمان مناسب همه تأیید کردند عملیات فعال نیست و پیام همچنان باقی است، بررسی قفل منطقی‌تر می‌شود.

مرحله دوم: خطای قفل را از حالت تعمیر جدا کنید

اگر بازدیدکننده پیام «Briefly unavailable for scheduled maintenance» می‌بیند، ممکن است وردپرس در حالت تعمیر مانده باشد. فایل .maintenance و گزینه core_updater.lock یک چیز نیستند؛ حذف یکی لزوماً دیگری را رفع نمی‌کند. تا قبل از اطمینان از پایان عملیات، هیچ‌کدام را حذف نکنید.
اگر پیشخوان خطای اتصال پایگاه داده، خطای ۵۰۰ یا پیام کمبود فضا نشان می‌دهد، ابتدا همان خطای مشخص را بررسی کنید. حتی با برداشته‌شدن قفل، به‌روزرسانی تا زمانی که علت اصلی، مانند فضای ناکافی یا دسترسی نامناسب، برطرف نشده باشد ممکن است دوباره شکست بخورد.

راه اول: بررسی قفل با WP-CLI

این روش برای کسی است که به SSH یا ترمینال هاست و ابزار WP-CLI دسترسی مجاز دارد. در هاست اشتراکی اگر این دسترسی ارائه نشده، به روش پنل در بخش بعد بروید. دستورها را در ترمینال همان سرویس، با حساب مجاز اجرا کنید؛ آن‌ها را در نوار آدرس مرورگر ننویسید.
ابتدا وارد پوشه نصب وردپرس شوید. مسیر زیر فقط یک نمونه است و مسیر واقعی را باید از مدیر سایت یا File Manager بگیرید:
کد / دستورcd /home/ACCOUNT/public_html
به جای ACCOUNT و مسیر مثال، مسیر واقعی نصب را بگذارید. اگر با پیام نبود پوشه روبه‌رو شدید، ادامه ندهید؛ ممکن است سایت در پوشه یا حساب دیگری باشد. برای مطمئن‌شدن از نصب وردپرس در این مسیر، اجرا کنید:
کد / دستورwp core is-installed
این فرمان در صورت موفقیت معمولاً خروجی ندارد. اگر خطای پیدا نشدن دستور wp دیدید، WP-CLI در مسیر جاری در دسترس نیست؛ اگر خطای پیدا نشدن وردپرس دیدید، پوشه درست را پیدا کنید. روی سروری با چند سایت، پیش از ادامه حتماً بررسی کنید به نصب درست وصل شده‌اید. برای نصب‌های چندسایتی یا تنظیمات پیچیده، از مدیر سایت بخواهید زمینه و نشانی درست را تعیین کند.
حالا مقدار گزینه مربوط به قفل را بخوانید:
کد / دستورwp option get core_updater.lock
اگر مقداری برگردد، گزینه وجود دارد؛ مقدار عددی معمولاً زمان ذخیره قفل است. وجود آن به‌تنهایی ثابت نمی‌کند عملیات فعال است یا باید بلافاصله حذف شود. اگر پیامی شبیه نبود گزینه دیدید، ممکن است قفل در این نصب وجود نداشته باشد، در سایت دیگری باشید یا علت پیام چیز دیگری باشد. در این وضعیت دستور حذف را تکرار نکنید؛ مسیر نصب، نوع عملیات و خطای کامل را بررسی کنید.

فقط پس از تأیید نبود عملیات فعال، قفل باقی‌مانده را بردارید

اگر مدیر سایت تأیید کرده هیچ به‌روزرسانی در حال اجرا نیست، از سایت پشتیبان دارید و قفل مربوط به همین نصب هنوز باقی مانده، دستور رسمی زیر فقط همان گزینه را حذف می‌کند:
کد / دستورwp option delete core_updater.lock
در صورت موفقیت WP-CLI پیام حذف گزینه را نشان می‌دهد. اگر گزینه پیدا نشد یا خطا گرفتید، نام نصب و متن خطا را بررسی کنید؛ با sudo یا دستورهای ناشناس تلاش به دورزدن خطا نکنید. این فرمان به معنی به‌روزرسانی‌شدن وردپرس نیست؛ فقط قفل مشخص را برمی‌دارد.
حالا در پیشخوان صفحه به‌روزرسانی‌ها را تازه کنید. اگر پیام رفت، قبل از شروع دوباره فضا، پشتیبان و نسخه پیشنهادی را بررسی کنید و یک بار عملیات را اجرا کنید. اگر دوباره فوراً همان قفل ظاهر شد، ممکن است عملیات دیگری واقعاً آغاز شده یا فرایند خودکار مجدداً در حال اجرا باشد؛ علت را پیدا کنید، نه اینکه قفل را در یک حلقه پاک کنید.

راه دوم: بررسی و حذف همان گزینه در phpMyAdmin

اگر SSH ندارید اما مدیر سایت به cPanel و phpMyAdmin دسترسی دارد، می‌توان از پنل استفاده کرد. این بخش نیازمند دقت است؛ دستکاری جدول یا پایگاه داده اشتباه می‌تواند چند سایت را تحت تأثیر قرار دهد.
۱. از پایگاه داده همین سایت خروجی پشتیبان بگیرید و مطمئن شوید روش بازگردانی را می‌دانید. فایل wp-config.php را در File Manager ببینید تا نام پایگاه داده و پیشوند جدول نصب درست را پیدا کنید. این فایل رمز هم دارد؛ تصویر یا محتوای آن را برای دیگران نفرستید و بدون شناخت تغییرش ندهید.
۲. در cPanel وارد Databases ← phpMyAdmin شوید. از ستون کناری، فقط پایگاه داده‌ای را انتخاب کنید که در تنظیمات همان نصب پیدا کرده‌اید. نام جدول گزینه‌ها معمولاً به شکل wp_options است، اما wp_ ممکن است پیشوند دیگری باشد. اگر چند نصب یا جدول مشابه دارید و مطمئن نیستید، دست نگه دارید و از مدیر کمک بگیرید.
۳. جدول options درست را باز کنید. از گزینه جست‌وجوی همان جدول، در ستون option_name مقدار دقیق core_updater.lock را جست‌وجو کنید. رابط phpMyAdmin ممکن است با نسخه فرق کند؛ هدف، پیدا کردن ردیفی با همین نام دقیق است، نه حذف جدول یا هر ردیف دارای کلمه update.
۴. اگر ردیفی پیدا نشد، چیزی را حذف نکنید. نام پایگاه داده، پیشوند، نصب درست و وجود کش پایدار یا ابزار به‌روزرسانی دیگر را با مدیر سایت بررسی کنید. جست‌وجو در پایگاه داده دیگر بدون شناسایی مالک آن خطرناک است.
۵. اگر ردیف دقیق پیدا شد و با هماهنگی مدیر تأیید کردید هیچ به‌روزرسانی فعالی وجود ندارد، پس از گرفتن پشتیبان می‌توانید فقط همان ردیف را حذف کنید. صفحه تأیید را بخوانید و مطمئن شوید نام گزینه درست است؛ دستور حذف کل جدول یا پاک‌سازی همه options را اجرا نکنید.
۶. به پیشخوان برگردید و صفحه به‌روزرسانی‌ها را یک بار تازه کنید. اگر پیام رفت، به‌روزرسانی موردنیاز را تنها یک بار آغاز و تا پایان دنبال کنید. اگر خطای تازه‌ای ظاهر شد، متن آن را مبنای عیب‌یابی قرار دهید.
اگر سایت از object cache پایدار استفاده می‌کند، نتیجه پایگاه داده و مقدار نگهداری‌شده در کش ممکن است برای مدتی هماهنگ نباشند. با مدیر آشنا به همان افزونه یا سرویس کش، روش پاک‌سازی محدود و اثر آن را بررسی کنید. پاک‌کردن همه کش‌های سرور مشترک یا دستکاری مستقیم حافظه کش بدون شناخت محیط لازم نیست و می‌تواند بر سرویس‌های دیگر اثر بگذارد.

بعد از رفع قفل، به‌روزرسانی دوباره شکست خورد

پیام بعدی را دقیق بخوانید. کمبود فضا با آزادسازی امن فضای همان حساب یا اصلاح سهمیه حل می‌شود، نه حذف قفل. عدم امکان نوشتن فایل‌ها به مجوز، مالکیت یا روش نصب مربوط است؛ همه پوشه‌ها را برای عموم قابل نوشتن نکنید. قطع دانلود ممکن است به دسترسی شبکه یا منبع بسته مربوط باشد؛ بسته ناشناس دانلود نکنید. اگر خطای پایگاه داده ظاهر شد، از نسخه پشتیبان و متن خطا برای تشخیص مستقل استفاده کنید.
اگر سایت پس از قطع عملیات خطای جدی دارد، وضعیت فایل‌ها و پایگاه داده را با مدیر سایت بررسی کنید. بازگرداندن پشتیبان می‌تواند نوشته‌ها یا سفارش‌های پس از زمان بکاپ را از بین ببرد؛ قبل از بازگردانی کامل، زمان بکاپ و داده‌های جدید را مشخص کنید.

از کجا بفهمیم کار تمام شده است؟

در پیشخوان ← به‌روزرسانی‌ها پیام قفل نباید مانع عملیات باشد و نسخه نصب‌شده باید همان نسخه‌ای باشد که پس از پایان موفق گزارش می‌شود. صفحه اصلی و پیشخوان را باز کنید؛ در فروشگاه، یک سبد یا سفارش آزمایشی بی‌خطر را طبق روش فروشگاه بررسی کنید. همچنین گزارش یا پیام خطا را ببینید تا از موفقیت ظاهری صرف مطمئن نشوید.
برای انتخاب منابع و امکانات مناسب سایت وردپرسی می‌توانید صفحه هاست وردپرس نت‌آرام را ببینید. پیام قفل به‌تنهایی دلیل کافی برای ارتقای هاست نیست؛ ابتدا وضعیت به‌روزرسانی و خطای واقعی را مشخص کنید.

منابع فنی

اشتراک‌گذاری:
لینکدینتلگرامایکس

دیدگاه‌ها (۰)

دیدگاه‌های تاییدشده و پاسخ‌های تیم نت‌آرام