Skip to content

Все для WordPress, веб-розробки — і не тільки

🔧 Як виправити помилку «Інше оновлення в процесі» в WordPress

🔧 Як виправити помилку «Інше оновлення в процесі» в WordPress

Ви заходите в адмінку оновити WordPress до свіжої версії, а там глуха стіна. «Інше оновлення в процесі». Кнопки оновлення заблоковані, таймер не цокає, і незрозуміло: чекати чи робити щось вручну.

Проблема масова. Штатний механізм WordPress ставить блокування core_updater.lock на час фонового оновлення ядра, щоб два апдейти не наклалися один на одного. Блокування має зникнути саме через 15 хвилин. Але так буває не завжди, база даних «запам’ятовує» лок і тримає його годинами, а то й добами.

Нижче три способи зняти блокування: від найпростішого (в один клік) до найшвидшого (одна команда в терміналі). Обирайте той, що підходить під ваш рівень доступу до сайту.

💡 Швидкий огляд:

  • Встановіть безплатний плагін Fix Another Update In Progress і натисніть одну кнопку, підходить, якщо у вас є доступ до адмінки.
  • Знайдіть і видаліть рядок core_updater.lock у таблиці wp_options через phpMyAdmin, метод для тих, у кого адмінка недоступна.
  • Виконайте wp option delete core_updater.lock через WP-CLI, миттєвий варіант для розробників і тих, хто товаришує із терміналом.

Чому з’являється помилка «Інше оновлення в процесі»

WordPress захищається від паралельних оновлень ядра. Коли запускається автооновлення, система створює в таблиці wp_options тимчасовий запис із ключем core_updater.lock. Поки цей ключ існує, повторний запуск оновлення неможливий, ви бачите повідомлення «Інше оновлення в процесі».

Помилка «Інше оновлення в процесі» в адмінці WordPress

За задумом розробників, через 15 хвилин блокування знімається автоматично. На практиці цього часто не відбувається. Причини: обрив фонового процесу оновлення через брак пам’яті на хостингу, конфлікт із плагіном кешування або передчасне закриття вкладки браузера під час апдейту.

Як наслідок, лок висить, панель оновлень заблокована. Примусово скинути його можна трьома способами.

Метод 1: плагін Fix Another Update In Progress

Найбезпечніший шлях, не чіпати базу даних руками, а дати перевіреному плагіну зробити всю роботу за вас.

Встановіть Fix Another Update In Progress з каталогу WordPress.org. Плагін безплатний і робить рівно одну справу: шукає ключ core_updater.lock у wp_options і видаляє його після натискання кнопки.

Після активації перейдіть у Налаштування → Fix Another Update In Progress. Якщо блокування активне, ви побачите попередження та кнопку:

Сторінка налаштувань плагіна Fix Another Update In Progress

Натисніть «Виправити блокування оновлень WordPress». Плагін миттєво видалить запис із бази, і ви побачите підтвердження:

Повідомлення про успішне зняття блокування оновлень

Після цього повертайтеся в Консоль → Оновлення, сторінка знову активна, WordPress готовий до апдейту. Плагін можна залишити (він не навантажує сайт) або видалити до наступного разу.

Пара нюансів. Плагін не оновлювався з 2023 року і формально не тестувався з версіями WordPress старшими за 6.2, але на практиці коректно працює аж до WordPress 6.7, тому що структура таблиці wp_options не змінювалася, а блокування core_updater.lock і далі є звичайним записом, який можна видалити стандартним викликом delete_option. Якщо не хочете ставити плагін «з історією», переходьте до методів 2 і 3.

Метод 2: ручне видалення блокування через phpMyAdmin

Коли адмінка недоступна (білий екран, критична помилка) або ви принципово не хочете ставити зайвий плагін, скинути блокування можна напряму в базі даних. Знадобиться доступ до phpMyAdmin, він є в будь-якій панелі керування хостингом (cPanel, ISPmanager, Plesk).

Зайдіть у панель хостингу, знайдіть розділ «Бази даних» і відкрийте phpMyAdmin:

Іконка phpMyAdmin у розділі баз даних панелі cPanel

У лівій колонці оберіть базу даних вашого WordPress-сайту. Знайдіть таблицю wp_options (префікс може відрізнятися, якщо ви змінювали його під час встановлення) і натисніть кнопку «Огляд» (Browse):

Кнопка огляду таблиці wp_options у phpMyAdmin

Перед вами відкриється список рядків. Знайдіть рядок з іменем опції core_updater.lock і натисніть червону кнопку «Видалити» навпроти нього:

Видалення рядка core_updater.lock із таблиці wp_options

phpMyAdmin видалить рядок. Тепер повертайтеся в адмінку WordPress, сторінка оновлень розблокована.

Якщо рядків у таблиці забагато і очима core_updater.lock не знайти, скористайтеся пошуком: вкладка «Пошук» у phpMyAdmin, у полі option_name введіть core_updater.lock, натисніть «OK», і шуканий рядок буде перед вами.

⚠️ Перш ніж видаляти будь-що в phpMyAdmin, переконайтеся, що фонове оновлення справді завершилося або перервалося. Якщо процес іще триває, примусове видалення лока може призвести до неповної заміни файлів ядра. Дайте сайту 5-10 хвилин після появи помилки і тільки потім дійте.

Метод 3: миттєве скидання через WP-CLI

Для тих, хто працює із сайтом через термінал, є найшвидший спосіб, одна команда WP-CLI. Відкрийте SSH-консоль сервера, перейдіть у кореневу папку WordPress і виконайте:

1wp option delete core_updater.lock

Якщо блокування було активне, ви побачите повідомлення Success: Deleted 'core_updater.lock' option.. Готово, можете запускати оновлення ядра:

1wp core update

До речі, команда wp core update сама попередить про завислий лок і підкаже, що потрібно спочатку видалити core_updater.lock. Це офіційно задокументована поведінка WP-CLI, а не обхідний шлях.

Метод зручний іще й тим, що його можна автоматизувати: додати очищення лока в скрипт деплою або Cron-задачу для регулярного обслуговування. Але якщо ви не працювали з WP-CLI раніше, достатньо методів 1 і 2, вони повністю вирішують проблему.

Відео: три способи за 3 хвилини

Коротке відео демонструє всі три методи на реальному сайті, від виявлення помилки до натискання кнопки «Оновити»:

⁉️🤔 Часті запитання

Чому помилка не зникає через 15 хвилин, як обіцяно?

Автоматичне скидання лока розраховане на штатне завершення фонового процесу. Якщо оновлення перервалося (закінчилася пам’ять PHP, впав процес на хостингу, ви закрили вкладку), WordPress не отримує сигналу «готово» і залишає core_updater.lock у базі. Таймер у 15 хвилин — це WP_Upgrader викликає wp_schedule_single_event, але якщо Cron на хостингу працює через системний планувальник, подія може не виконатися, і лок висить добами. Ручне видалення, єдиний гарантований спосіб.

Чи потрібно видаляти плагін Fix Another Update In Progress після виправлення помилки?

Не обов’язково. Плагін важить кілобайти, не додає навантаження на frontend і не реєструє зайвих хуків. Можете залишити його, наступного разу, коли лок зависне, виправлення займе один клік. Але якщо на сайті правило «жодних зайвих плагінів», сміливо видаляйте: скинути блокування через phpMyAdmin або WP-CLI можна за 30 секунд.

Чи можна запобігти появі помилки в майбутньому?

Повністю виключити не можна — це штатний механізм WordPress. Але знизити ймовірність допомагають три речі. Не ініціюйте ручне оновлення, якщо бачите сповіщення про фонове автооновлення. Налаштуйте Cron через системний планувальник сервера замість wp-cron.php, це прибере залежність від відвідувачів. Збільште ліміт пам’яті PHP (memory_limit) хоча б до 256M: брак пам’яті, найчастіша причина обриву фонового оновлення.

Чим небезпечне примусове видалення лока під час активного оновлення?

Якщо видалити core_updater.lock у момент, коли WordPress замінює файли ядра, ви отримаєте частково оновлену інсталяцію, половина файлів нової версії, половина старої. У кращому разі помилка під час входу в адмінку, у гіршому, білий екран. Перед будь-яким із методів зачекайте 5-10 хвилин після появи помилки. Фоновий процес можна перевірити через диспетчер процесів хостингу або командою top/htop по SSH.

Чи варто боятися цієї помилки

«Інше оновлення в процесі» виглядає страхітливо, але технічно це лише один рядок у базі даних. WordPress не зламаний, дані не постраждали, сайт працює, просто ядро поставило тимчасовий заслін.

Для швидких ситуацій беріть плагін Fix Another Update In Progress, одна кнопка, п’ять секунд, готово. Немає доступу в адмінку, phpMyAdmin вирішить питання за хвилину. Працюєте через консоль, wp option delete core_updater.lock і живіть далі. Будь-який із трьох методів повертає повний контроль над оновленнями сайту.