Skip to content
🔧 Kuinka korjata "Another update in progress" -virhe WordPressissä

🔧 Kuinka korjata "Another update in progress" -virhe WordPressissä

Siirryt hallintapaneeliin päivittääksesi WordPressin uusimpaan versioon, ja siinä se on: seinä vastassa. "Toinen päivitys on parhaillaan käynnissä." Päivityspainikkeet ovat lukittuina, ajastin ei tikitä, etkä tiedä, pitäisikö odottaa vai korjata ongelma itse.

Tämä ongelma on yleinen. WordPressin sisäänrakennettu mekanismi asettaa core_updater.lock-lukon taustalla tapahtuvien ydintiedostopäivitysten ajaksi estääkseen kahden päivityksen päällekkäisyyden. Lukon on tarkoitus poistua automaattisesti 15 minuutin kuluttua. Näin ei kuitenkaan aina tapahdu: tietokanta "muistaa" lukon ja pitää sitä voimassa tuntikausia tai jopa päiviä.

Alla on kolme tapaa poistaa lukko: yksinkertaisimmasta (yksi klikkaus) nopeimpaan (yksi terminaalikomento). Valitse se, joka sopii sivuston käyttöoikeustasollesi.

💡 Pikakatsaus:

  • Asenna ilmainen Fix Another Update In Progress -lisäosa ja paina yhtä painiketta; tämä toimii, jos sinulla on järjestelmänvalvojan oikeudet.
  • Etsi ja poista core_updater.lock-rivi wp_options-taulusta phpMyAdminin kautta; tämä tapa on niille, jotka eivät pääse hallintapaneeliin.
  • Suorita wp option delete core_updater.lock WP-CLI:n kautta; välitön vaihtoehto kehittäjille ja kaikille, jotka käyttävät terminaalia sujuvasti.

Miksi "Toinen päivitys on parhaillaan käynnissä" -virhe ilmenee

WordPress suojaa itseään rinnakkaisilta ydintiedostopäivityksiltä. Kun automaattinen päivitys käynnistyy, järjestelmä luo väliaikaisen tietueen avaimella core_updater.lock wp_options-tauluun. Niin kauan kuin tämä avain on olemassa, toisen päivityksen aloittaminen on mahdotonta, ja näet viestin "Toinen päivitys on parhaillaan käynnissä."

Suunnitellusti lukko poistuu automaattisesti 15 minuutin kuluttua. Käytännössä näin ei usein tapahdu. Yleisiä syitä ovat taustapäivitysprosessin kaatuminen palveluntarjoajan riittämättömän muistin vuoksi, ristiriita välimuisti-lisäosan kanssa tai selainvälilehden ennenaikainen sulkeminen päivityksen aikana.

Lopputulos: lukko jää voimaan, päivityspaneeli on lukittu. Voit pakottaa sen nollauksen kolmella tavalla.

Tapa 1: Fix Another Update In Progress -lisäosa

Turvallisin reitti on välttää tietokannan manuaalista käsittelyä ja antaa luotetun lisäosan tehdä kaikki työ puolestasi.

Asenna Fix Another Update In Progress WordPress.org-hakemistosta. Lisäosa on ilmainen ja tekee täsmälleen yhden asian: se etsii core_updater.lock-avaimen wp_options-taulusta ja poistaa sen yhdellä napin painalluksella.

Aktivoinnin jälkeen siirry kohtaan Asetukset → Fix Another Update In Progress. Jos lukko on aktiivinen, näet varoituksen ja painikkeen:

Korjaa Toinen päivitys käynnissä -lisäosan asetussivu

Klikkaa "Fix WordPress Update Lock". Lisäosa poistaa tietueen tietokannasta välittömästi, ja näet vahvistuksen:

Viesti, joka vahvistaa päivityslukon poistamisen

Palaa nyt kohtaan Kojelauta → Päivitykset; sivu on taas aktiivinen, ja WordPress on valmis päivitykseen. Voit pitää lisäosan (se ei kuormita sivustoa) tai poistaa sen seuraavaan kertaan asti.

Muutama huomio. Lisäosaa ei ole päivitetty vuoden 2023 jälkeen, eikä sitä ole virallisesti testattu WordPress-versioilla, jotka ovat uudempia kuin 6.2. Käytännössä se kuitenkin toimii oikein WordPress 6.7:ään asti, koska wp_options-taulun rakenne ei ole muuttunut ja core_updater.lock-merkintä on edelleen tavallinen tietue, joka voidaan poistaa tavallisella delete_option-kutsulla. Jos et mieluummin asenna lisäosaa, jolla "on historiaa", siirry tapoihin 2 ja 3.

Tapa 2: lukon manuaalinen poistaminen phpMyAdminin kautta

Kun hallintapaneeli ei ole käytettävissä (valkoinen ruutu, kriittinen virhe) tai et yksinkertaisesti halua asentaa ylimääräistä lisäosaa, voit nollata lukon suoraan tietokannasta. Tarvitset pääsyn phpMyAdminiin, joka on saatavilla kaikissa palveluntarjoajan hallintapaneeleissa (cPanel, ISPmanager, Plesk).

Kirjaudu palveluntarjoajasi hallintapaneeliin, etsi "Tietokannat"-osio ja avaa phpMyAdmin:

phpMyAdmin-kuvake cPanelin tietokantaosiossa

Valitse vasemmasta sarakkeesta WordPress-sivustosi tietokanta. Etsi wp_options-taulu (etuliite voi olla eri, jos muutit sitä asennuksen aikana) ja klikkaa "Selaa"-painiketta:

Selaa-painike wp_options-taululle phpMyAdminissa

Riviluettelo tulee näkyviin. Etsi rivi, jonka vaihtoehdon nimi on core_updater.lock, ja klikkaa sen vieressä olevaa punaista "Poista"-painiketta:

core_updater.lock-rivin poistaminen wp_options-taulusta

phpMyAdmin poistaa rivin. Palaa nyt WordPressin hallintapaneeliin; päivityssivu on avattu.

Jos taulussa on liian monta riviä core_updater.lock-rivin löytämiseksi silmämääräisesti, käytä hakutoimintoa: klikkaa phpMyAdminissa "Haku"-välilehteä, kirjoita core_updater.lock option_name-kenttään, klikkaa "OK", ja kyseinen rivi tulee näkyviin.

⚠️ Ennen kuin poistat mitään phpMyAdminissa, varmista, että taustapäivitys on todella päättynyt tai pysähtynyt. Jos prosessi on edelleen käynnissä, lukon pakottaminen pois voi johtaa ydintiedostojen puutteelliseen korvaamiseen. Anna sivustolle 5-10 minuuttia aikaa virheen ilmestymisen jälkeen ja jatka sitten.

Tapa 3: välitön nollaus WP-CLI:n kautta

Niille, jotka työskentelevät sivuston kanssa terminaalin kautta, nopein tapa on yksi WP-CLI-komento. Avaa SSH-yhteys palvelimelle, siirry WordPressin juurikansioon ja suorita:

1wp option delete core_updater.lock

Jos lukko oli aktiivinen, näet viestin Success: Deleted 'core_updater.lock' option.. Valmista; voit nyt aloittaa ydintiedostopäivityksen:

1wp core update

Muuten, wp core update -komento varoittaa itse vanhentuneesta lukosta ja ehdottaa, että poistat ensin core_updater.lock-lukon. Tämä on virallisesti dokumentoitua WP-CLI-toimintaa, ei kiertotapa.

Tämä menetelmä on kätevä myös siksi, että sen voi automatisoida: lisää lukon siivous käyttöönottoskriptiisi tai Cron-työhön säännöllistä ylläpitoa varten. Mutta jos et ole koskaan aiemmin työskennellyt WP-CLI:n kanssa, tavat 1 ja 2 ovat riittäviä; ne ratkaisevat ongelman täysin.

Video: kolme tapaa 3 minuutissa

Lyhyt video esittelee kaikki kolme tapaa oikealla sivustolla virheen havaitsemisesta "Päivitä"-painikkeen klikkaamiseen:

⁉️🤔 Usein kysytyt kysymykset

Miksi virhe ei häviä 15 minuutin kuluttua, kuten luvattiin?

Automaattinen lukon nollaus on suunniteltu taustaprosessin normaalia päättymistä varten. Jos päivitys keskeytyi (PHP-muisti loppui, palveluntarjoajan prosessi kaatui, suljit välilehden), WordPress ei koskaan saa "valmis"-signaalia ja jättää core_updater.lock-lukon tietokantaan. 15 minuutin ajastin perustuu siihen, että WP_Upgrader kutsuu wp_schedule_single_event-funktiota, mutta jos Cron palveluntarjoajallasi toimii järjestelmän ajastimen kautta, tapahtumaa ei ehkä koskaan suoriteta, ja lukko säilyy päiviä. Manuaalinen poisto on ainoa taattu ratkaisu.

Täytyykö Fix Another Update In Progress -lisäosa poistaa virheen korjaamisen jälkeen?

Ei välttämättä. Lisäosa painaa kilotavuja, ei lisää kuormaa julkiselle puolelle eikä rekisteröi ylimääräisiä koukkuja. Voit jättää sen paikalleen; seuraavan kerran, kun lukko jumittuu, korjaus vie yhden klikkauksen. Mutta jos sivustollasi on "ei turhia lisäosia" -käytäntö, voit huoletta poistaa sen: lukon nollaus phpMyAdminilla tai WP-CLI:llä vie 30 sekuntia.

Voinko estää tämän virheen toistumisen tulevaisuudessa?

Et voi poistaa sitä kokonaan; se on tavallinen WordPress-mekanismi. Kolme asiaa kuitenkin vähentää todennäköisyyttä. Älä käynnistä manuaalista päivitystä, jos näet ilmoituksen taustalla olevasta automaattipäivityksestä. Määritä Cron palvelimen järjestelmäajastimen kautta wp-cron.php-tiedoston sijaan; tämä poistaa riippuvuuden kävijöistä. Nosta PHP:n muistiraja (memory_limit) vähintään 256 megatavuun: riittämätön muisti on yleisin syy taustapäivitysten keskeytymiseen.

Mikä on vaarana, jos lukon poistaa väkisin aktiivisen päivityksen aikana?

Jos poistat core_updater.lock-lukon WordPressin korvatessa ydintiedostoja, päädyt osittain päivitettyyn asennukseen, jossa puolet tiedostoista on uudesta versiosta ja puolet vanhasta. Parhaassa tapauksessa saat virheen kirjautuessasi hallintapaneeliin; pahimmassa tapauksessa valkoisen ruudun. Ennen kuin käytät mitään näistä menetelmistä, odota 5-10 minuuttia virheen ilmestymisen jälkeen. Voit tarkistaa taustaprosessin palveluntarjoajan prosessinhallinnan kautta tai suorittamalla top/htop SSH:n yli.

Pitäisikö tätä virhettä pelätä

"Toinen päivitys on parhaillaan käynnissä" näyttää hälyttävältä, mutta teknisesti se on vain yksi rivi tietokannassa. WordPress ei ole rikki, tietosi ovat kunnossa, sivusto toimii; ydin asetti vain väliaikaisen esteen.

Nopeisiin tilanteisiin nappaa Fix Another Update In Progress -lisäosa: yksi painike, viisi sekuntia, valmista. Eikö järjestelmänvalvojan oikeuksia? phpMyAdmin ratkaisee sen minuutissa. Työskenteletkö konsolin kautta? wp option delete core_updater.lock ja eteenpäin. Mikä tahansa kolmesta tavasta palauttaa täyden hallinnan sivustosi päivityksiin.