Skip to content

Kõik WordPressist, veebiarendusest — ja mitte ainult

🔧 Kuidas parandada „Another update in progress“ viga WordPressis

🔧 Kuidas parandada „Another update in progress“ viga WordPressis

Liigud administraatori paneeli, et uuendada WordPress uusimale versioonile, ja näed seda: tõkestav sein. „Another update is currently in progress." Uuendusnupud on lukus, ühtegi taimerit ei tiksu ja sul pole aimugi, kas oodata või ise parandada.

See probleem on laialt levinud. WordPressi sisseehitatud mehhanism seab taustal toimuva tuumauuenduse ajal core_updater.lock kirje, et vältida kahe uuenduse kattumist. Lukk peaks 15 minuti pärast automaatselt kaduma. Kuid see ei õnnestu alati: andmebaas „mäletab" lukku ja hoiab seda tunde või isegi päevi.

Allpool on kolm viisi luku eemaldamiseks: alates kõige lihtsamast (üks klikk) kuni kiireimani (üks terminalikäsk). Vali see, mis sobib sinu ligipääsutasemega saidile.

💡 Kiirülevaade:

  • Paigalda tasuta Fix Another Update In Progress plugin ja vajuta ühte nuppu; see toimib, kui sul on administraatori ligipääs.
  • Leia ja kustuta core_updater.lock rida wp_options tabelist phpMyAdmini kaudu; see meetod on neile, kes administraatori paneeli ei pääse.
  • Käivita wp option delete core_updater.lock WP-CLI kaudu; kiire valik arendajatele ja kõigile, kes terminaliga sina peal on.

Miks teade „Another update is currently in progress" ilmub

WordPress kaitseb end paralleelsete tuumauuenduste eest. Kui automaatne uuendus käivitub, loob süsteem ajutise kirje võtmega core_updater.lock wp_options tabelisse. Seni, kuni see võti eksisteerib, on uue uuenduse alustamine võimatu ja sa näed teadet „Another update is currently in progress".

Disaini järgi kustub lukk automaatselt 15 minuti pärast. Praktikas jääb see sageli tegemata. Levinud põhjused on taustal toimuva uuendusprotsessi kokkujooksmine hostingu vähese mälu tõttu, konflikt puhverdamise pluginaga või brauseri vahelehe enneaegne sulgemine uuenduse ajal.

Tulemus: lukk püsib, uuenduste paneel on blokeeritud. Saad selle kolmel viisil sundkorras lähtestada.

1. Meetod: Fix Another Update In Progress plugin

Kõige ohutum viis on vältida andmebaasi käsitsi puutumist ja lasta usaldusväärsel pluginil kogu töö sinu eest ära teha.

Paigalda Fix Another Update In Progress WordPress.org kataloogist. Plugin on tasuta ja teeb täpselt üht asja: otsib wp_options tabelist core_updater.lock võtit ja kustutab selle ühe nupuvajutusega.

Pärast aktiveerimist mine Seaded → Fix Another Update In Progress. Kui lukk on aktiivne, näed hoiatust ja nuppu:

Fix Another Update In Progress plugina seadete leht

Kliki „Fix WordPress Update Lock". Plugin eemaldab kirje andmebaasist koheselt ja sa näed kinnitust:

Kinnitus, et uuenduslukk on eemaldatud

Nüüd naase Töölaud → Uuendused lehele; leht on taas aktiivne ja WordPress on uuenduseks valmis. Võid pluginat alles hoida (see ei koorma saiti) või selle järgmise korrani eemaldada.

Paar märkust. Plugina viimane uuendus oli 2023. aastal ja seda pole ametlikult testitud WordPressi versioonidega, mis on uuemad kui 6.2. Praktikas töötab see siiski korrektselt kuni WordPress 6.7-ni, sest wp_options tabeli struktuur pole muutunud ja core_updater.lock kirje on endiselt tavaline rida, mida saab eemaldada tavalise delete_option väljakutsega. Kui sa pigem ei soovi paigaldada „ajalooga" pluginat, jätka 2. ja 3. meetodiga.

2. Meetod: luku käsitsi eemaldamine phpMyAdmini kaudu

Kui administraatori paneel pole kättesaadav (valge ekraan, kriitiline viga) või sa lihtsalt ei soovi lisamoodulit paigaldada, saad luku otse andmebaasis lähtestada. Vajad ligipääsu phpMyAdminile, mis on saadaval igas hostingu juhtpaneelis (cPanel, ISPmanager, Plesk).

Logi sisse oma hostingu paneeli, leia „Andmebaasid" sektsioon ja ava phpMyAdmin:

phpMyAdmini ikoon cPaneli andmebaaside jaotises

Vasakust veerust vali oma WordPressi saidi andmebaas. Leia wp_options tabel (prefiks võib erineda, kui muutsid seda paigaldamise ajal) ja kliki nuppu „Sirvi":

Sirvimisnupp wp_options tabeli jaoks phpMyAdminis

Ilmub ridade loend. Leia rida valiku nimega core_updater.lock ja kliki selle kõrval olevat punast „Kustuta" nuppu:

core_updater.lock rea kustutamine wp_options tabelist

phpMyAdmin kustutab rea. Nüüd naase WordPressi administraatori paneeli; uuenduste leht on lukust vabastatud.

Kui tabelis on liiga palju ridu, et core_updater.lock visuaalselt üles leida, kasuta otsingufunktsiooni: kliki phpMyAdminis vahekaarti „Otsi", sisesta core_updater.lock väljale option_name, kliki „OK" ja kõnealune rida ilmub.

⚠️ Enne phpMyAdminis millegi kustutamist veendu, et taustal toimuv uuendus on tegelikult lõppenud või peatunud. Kui protsess alles käib, võib luku sunniviisiline eemaldamine põhjustada tuumafailide mittetäieliku asendamise. Anna saidile pärast vea ilmumist 5-10 minutit, seejärel jätka.

3. Meetod: kiirlähtestus WP-CLI kaudu

Neile, kes töötavad saidiga terminali kaudu, on kiireim meetod üksainus WP-CLI käsk. Ava serverisse SSH konsool, liigu WordPressi juurkausta ja käivita:

1wp option delete core_updater.lock

Kui lukk oli aktiivne, näed teadet Success: Deleted 'core_updater.lock' option.. Valmis; nüüd saad tuumauuendust alustada:

1wp core update

Muide, käsk wp core update hoiatab sind ise aegunud luku eest ja soovitab esmalt core_updater.lock kustutada. See on ametlikult dokumenteeritud WP-CLI käitumine, mitte ajutine lahendus.

See meetod on mugav ka seetõttu, et seda saab automatiseerida: lisa luku puhastamine oma juurutusskripti või Cron töösse regulaarseks hoolduseks. Kuid kui sa pole varem WP-CLI-ga töötanud, on 1. ja 2. meetod piisavad; need lahendavad probleemi täielikult.

Video: kolm meetodit 3 minutiga

Lühike video demonstreerib kõiki kolme meetodit reaalsel saidil, alates vea avastamisest kuni nupu „Uuenda" klikkimiseni:

⁉️🤔 Korduma kippuvad küsimused

Miks viga ei kao 15 minuti pärast, nagu lubatud?

Automaatne luku lähtestamine on mõeldud taustaprotsessi normaalseks lõpuleviimiseks. Kui uuendus katkestati (PHP-l sai mälu otsa, hostingu protsess jooksis kokku, sulgesid vahelehe), ei saa WordPress kunagi „tehtud" signaali ja jätab core_updater.lock andmebaasi. 15-minutiline taimer tugineb sellele, et WP_Upgrader kutsub välja wp_schedule_single_event, kuid kui Cron sinu hostingus töötab süsteemi ajastaja kaudu, ei pruugi sündmus kunagi käivituda ja lukk püsib päevi. Käsitsi eemaldamine on ainus garanteeritud lahendus.

Kas ma pean pärast vea parandamist eemaldama Fix Another Update In Progress plugina?

Mitte tingimata. Plugin kaalub kilobaite, ei tekita esiküljel koormust ega registreeri lisakonksusid. Võid selle alles jätta; järgmine kord, kui lukk ripakile jääb, võtab parandus aega ühe kliki. Kuid kui sinu saidil kehtib „mittevajalike pluginate keeld", kustuta see julgelt: luku lähtestamine phpMyAdmini või WP-CLI kaudu võtab 30 sekundit.

Kas ma saan selle vea edaspidist esinemist vältida?

Täielikult ei saa seda välistada; see on standardne WordPressi mehhanism. Kuid kolm asja vähendavad tõenäosust. Ära algata käsitsi uuendust, kui näed teadet taustal toimuva automaatse uuenduse kohta. Seadista Cron serveri süsteemiajastaja kaudu, mitte wp-cron.php kaudu; see kaotab sõltuvuse külastajatest. Suurenda PHP mälulimiiti (memory_limit) vähemalt 256M-ni: ebapiisav mälu on taustauuenduste katkemise kõige levinum põhjus.

Mis on oht, kui eemaldada lukk sunniviisiliselt aktiivse uuenduse ajal?

Kui kustutad core_updater.lock sel ajal, kui WordPress asendab tuumafaile, jääb sulle osaliselt uuendatud installatsioon, pooled failid uuest versioonist ja pooled vanast. Parimal juhul saad administraatori paneeli sisselogimisel veateate; halvimal juhul valge ekraani. Enne ükskõik millise meetodi kasutamist oota pärast vea ilmumist 5-10 minutit. Taustaprotsessi saad kontrollida hostingu protsessihalduri kaudu või käivitades SSH kaudu top/htop.

Kas seda viga peaks kartma

„Another update is currently in progress" näeb välja murettekitav, kuid tehniliselt on see vaid üks rida andmebaasis. WordPress pole katki, sinu andmed on puutumata, sait töötab; tuum seadis lihtsalt ajutise tõkke.

Kiirete olukordade jaoks haara Fix Another Update In Progress plugin: üks nupp, viis sekundit, valmis. Administraatori ligipääsu pole? phpMyAdmin lahendab selle minutiga. Töötad konsooli kaudu? wp option delete core_updater.lock ja liigu edasi. Ükskõik milline neist kolmest meetodist taastab täieliku kontrolli sinu saidi uuenduste üle.