
🔧 Jak naprawić błąd „inne aktualizacje w toku” w WordPress
Wchodzą Państwo do panelu administracyjnego, aby zaktualizować WordPress do najnowszej wersji, a tam napotykają Państwo mur. „Trwa inna aktualizacja". Przyciski aktualizacji są zablokowane, zegar nie tyka i nie wiadomo: czekać czy działać ręcznie.
Problem jest powszechny. Standardowy mechanizm WordPress ustawia blokadę core_updater.lock na czas aktualizacji jądra w tle, aby dwa procesy nie nakładały się na siebie. Blokada powinna zniknąć automatycznie po 15 minutach. Jednak nie zawsze tak się dzieje, baza danych „zapamiętuje" blokadę i trzyma ją godzinami, a nawet całymi dniami.
Poniżej trzy sposoby na zdjęcie blokady: od najprostszego (na jedno kliknięcie) do najszybszego (jedno polecenie w terminalu). Proszę wybrać ten, który odpowiada Państwa poziomowi dostępu do witryny.
💡 Szybki przegląd:
- Proszę zainstalować bezpłatną wtyczkę Fix Another Update In Progress i nacisnąć jeden przycisk; to rozwiązanie jest odpowiednie, jeśli mają Państwo dostęp do panelu administracyjnego.
- Proszę znaleźć i usunąć wiersz
core_updater.lockw tabeliwp_optionsprzez phpMyAdmin; metoda dla tych, którzy nie mają dostępu do panelu administracyjnego. - Proszę wykonać
wp option delete core_updater.lockprzez WP-CLI; natychmiastowa opcja dla programistów i osób swobodnie posługujących się terminalem.
Dlaczego pojawia się błąd „Trwa inna aktualizacja"
WordPress chroni się przed równoległymi aktualizacjami jądra. Gdy uruchamia się automatyczna aktualizacja, system tworzy w tabeli wp_options tymczasowy wpis z kluczem core_updater.lock. Dopóki ten klucz istnieje, ponowne uruchomienie aktualizacji jest niemożliwe i widzą Państwo komunikat „Trwa inna aktualizacja".

Zgodnie z zamysłem twórców, po 15 minutach blokada jest zdejmowana automatycznie. W praktyce często tak się nie dzieje. Przyczyny: przerwanie procesu aktualizacji w tle z powodu braku pamięci na hostingu, konflikt z wtyczką buforowania lub przedwczesne zamknięcie karty przeglądarki podczas aktualizacji.
W rezultacie blokada wisi, a panel aktualizacji jest zablokowany. Wymusić jej zresetowanie można na trzy sposoby.
Metoda 1: wtyczka Fix Another Update In Progress
Najbezpieczniejsza ścieżka: nie ruszać bazy danych ręcznie, tylko pozwolić sprawdzonej wtyczce wykonać całą pracę za Państwa.
Proszę zainstalować Fix Another Update In Progress z katalogu WordPress.org. Wtyczka jest bezpłatna i robi dokładnie jedną rzecz: szuka klucza core_updater.lock w wp_options i usuwa go po naciśnięciu przycisku.
Po aktywacji proszę przejść do Ustawienia → Fix Another Update In Progress. Jeśli blokada jest aktywna, zobaczą Państwo ostrzeżenie i przycisk:

Proszę nacisnąć „Napraw blokadę aktualizacji WordPress". Wtyczka natychmiast usunie wpis z bazy i zobaczą Państwo potwierdzenie:

Następnie proszę wrócić do Kokpit → Aktualizacje; strona znów jest aktywna, WordPress jest gotowy do aktualizacji. Wtyczkę można pozostawić (nie obciąża witryny) lub usunąć do następnego razu.
Kilka niuansów. Wtyczka nie była aktualizowana od 2023 roku i formalnie nie była testowana z wersjami WordPress nowszymi niż 6.2, ale w praktyce działa poprawnie aż do WordPress 6.7, ponieważ struktura tabeli wp_options nie uległa zmianie, a blokada core_updater.lock nadal jest zwykłym wpisem, który można usunąć standardowym wywołaniem delete_option. Jeśli nie chcą Państwo instalować wtyczki „z historią", proszę przejść do metod 2 i 3.
Metoda 2: ręczne usunięcie blokady przez phpMyAdmin
Gdy panel administracyjny jest niedostępny (biały ekran, błąd krytyczny) lub z zasady nie chcą Państwo instalować dodatkowej wtyczki, blokadę można zresetować bezpośrednio w bazie danych. Potrzebny będzie dostęp do phpMyAdmin; jest on dostępny w każdym panelu zarządzania hostingiem (cPanel, ISPmanager, Plesk).
Proszę zalogować się do panelu hostingu, znaleźć sekcję „Bazy danych" i otworzyć phpMyAdmin:

W lewej kolumnie proszę wybrać bazę danych swojej witryny WordPress. Proszę znaleźć tabelę wp_options (prefiks może się różnić, jeśli zmieniali go Państwo podczas instalacji) i nacisnąć przycisk „Przeglądaj" (Browse):

Otworzy się przed Państwem lista wierszy. Proszę znaleźć wiersz z nazwą opcji core_updater.lock i nacisnąć czerwony przycisk „Usuń" obok niego:

phpMyAdmin usunie wiersz. Teraz proszę wrócić do panelu administracyjnego WordPress; strona aktualizacji jest odblokowana.
Jeśli wierszy w tabeli jest zbyt wiele i nie mogą Państwo znaleźć core_updater.lock wzrokiem, proszę skorzystać z wyszukiwania: zakładka „Szukaj" w phpMyAdmin, w polu option_name proszę wpisać core_updater.lock, nacisnąć „OK", a szukany wiersz się pojawi.
⚠️ Przed usunięciem czegokolwiek w phpMyAdmin proszę upewnić się, że aktualizacja w tle rzeczywiście się zakończyła lub została przerwana. Jeśli proces wciąż trwa, wymuszone usunięcie blokady może doprowadzić do niepełnej wymiany plików jądra. Proszę dać witrynie 5-10 minut po pojawieniu się błędu i dopiero wtedy działać.
Metoda 3: natychmiastowe zresetowanie przez WP-CLI
Dla osób pracujących z witryną przez terminal istnieje najszybszy sposób: jedno polecenie WP-CLI. Proszę otworzyć konsolę SSH serwera, przejść do głównego folderu WordPress i wykonać:
1 wp option delete core_updater.lock
Jeśli blokada była aktywna, zobaczą Państwo komunikat Success: Deleted 'core_updater.lock' option.. Gotowe, można uruchomić aktualizację jądra:
1 wp core update
Nawiasem mówiąc, polecenie wp core update samo ostrzeże o zawieszonej blokadzie i podpowie, że najpierw należy usunąć core_updater.lock. To oficjalnie udokumentowane zachowanie WP-CLI, a nie obejście.
Metoda jest wygodna również dlatego, że można ją zautomatyzować: dodać czyszczenie blokady do skryptu wdrożeniowego lub zadania Cron do regularnej konserwacji. Jeśli jednak nie pracowali Państwo wcześniej z WP-CLI, metody 1 i 2 w zupełności wystarczą; całkowicie rozwiązują problem.
Wideo: trzy sposoby w 3 minuty
Krótkie wideo demonstruje wszystkie trzy metody na rzeczywistej witrynie, od wykrycia błędu do naciśnięcia przycisku „Aktualizuj":
⁉️🤔 Często zadawane pytania
Dlaczego błąd nie znika po 15 minutach, tak jak obiecano?
Automatyczne resetowanie blokady jest przewidziane dla standardowego zakończenia procesu w tle. Jeśli aktualizacja została przerwana (skończyła się pamięć PHP, proces padł na hostingu, zamknęli Państwo kartę), WordPress nie otrzymuje sygnału „gotowe" i pozostawia
core_updater.lockw bazie. 15-minutowy zegar toWP_Upgraderwywołującywp_schedule_single_event, ale jeśli Cron na hostingu działa przez systemowy harmonogram, zdarzenie może się nie wykonać i blokada wisi całymi dniami. Ręczne usunięcie to jedyny gwarantowany sposób.
Czy trzeba usuwać wtyczkę Fix Another Update In Progress po naprawieniu błędu?
Nie jest to konieczne. Wtyczka waży kilobajty, nie dodaje obciążenia na frontendzie i nie rejestruje zbędnych haków. Można ją zostawić; następnym razem, gdy blokada się zawiesi, naprawa zajmie jedno kliknięcie. Jeśli jednak na witrynie obowiązuje zasada „żadnych zbędnych wtyczek", proszę śmiało usuwać: zresetowanie blokady przez phpMyAdmin lub WP-CLI zajmuje 30 sekund.
Czy można zapobiec pojawianiu się błędu w przyszłości?
Całkowicie wykluczyć się nie da, to standardowy mechanizm WordPress. Ale trzy rzeczy pomagają zmniejszyć prawdopodobieństwo. Proszę nie inicjować ręcznej aktualizacji, jeśli widzą Państwo powiadomienie o automatycznej aktualizacji w tle. Proszę skonfigurować Cron przez systemowy harmonogram serwera zamiast
wp-cron.php; usunie to zależność od odwiedzających. Proszę zwiększyć limit pamięci PHP (memory_limit) przynajmniej do 256M: brak pamięci to najczęstsza przyczyna przerwania aktualizacji w tle.
Czym grozi wymuszone usunięcie blokady podczas aktywnej aktualizacji?
Jeśli usuną Państwo
core_updater.lockw momencie, gdy WordPress podmienia pliki jądra, otrzymają Państwo częściowo zaktualizowaną instalację: połowa plików nowej wersji, połowa starej. W najlepszym razie błąd przy logowaniu do panelu administracyjnego, w najgorszym biały ekran. Przed zastosowaniem którejkolwiek z metod proszę odczekać 5-10 minut po pojawieniu się błędu. Proces w tle można sprawdzić przez menedżer procesów hostingu lub poleceniemtop/htopprzez SSH.
Czy należy się bać tego błędu
„Trwa inna aktualizacja" wygląda przerażająco, ale technicznie to tylko jeden wiersz w bazie danych. WordPress nie jest uszkodzony, dane nie ucierpiały, witryna działa, po prostu jądro postawiło tymczasową zaporę.
W szybkich sytuacjach proszę sięgnąć po wtyczkę Fix Another Update In Progress: jeden przycisk, pięć sekund, gotowe. Jeśli nie ma dostępu do panelu administracyjnego, phpMyAdmin rozwiąże problem w minutę. Jeśli pracują Państwo przez konsolę, wp option delete core_updater.lock i można działać dalej. Każda z trzech metod przywraca pełną kontrolę nad aktualizacjami witryny.



