Beragadt karbantartási mód probléma javítása

[Ezt a cikket 4 perc elolvasni.]

Beépített és igen hasznos funkció, hogy a WordPress alaprendszer, a bővítmények és a sablonok frissítése alatt a weboldal nem érhető el a látogatók számára, ehelyett egy egyszerű, karbantartásra figyelmeztető üzenet jelenik meg a domain megnyitásakor. Legtöbbször ez nem tart tovább néhány percnél és a frissítések telepítésének befejeztével a rendszer ki is kapcsolja ezt az ideiglenes üzenetet. Mi is a teendő azonban akkor, ha valamilyen oknál fogva beragad a karbantartási mód és képtelenek vagyunk visszaállítani az oldalunk működését?

Magyar nyelv esetén ez az üzenet lesz látható a karbantartási mód idején: “Tervezett karbantartási munkák történnek, ezért a honlap tartalma jelenleg nem elérhető. Pár perc múlva érdemes lesz visszatérni. Köszönjük szépen a türelmet és megértést!”

Angolul ugyanez: “Briefly unavailable for scheduled maintenance. Check back in a minute.”

Szerencsére a megoldás roppant egyszerű, azonban mielőtt kapkodva nekilátnánk, érdemes ellenőrizni, hogy az elindított frissítés sikeresen lezajlott-e. Ugyanis ha a karbantartási mód beragadt, akkor nagy valószínűséggel a WordPress sem volt képes végrehajtani az aktuális frissítési feladatot, tehát kézzel kell elvégeznünk ezt. Ha magát a WordPress rendszert frissítettük, akkor kézzel másoljuk fel a legfrissebb kiadás kicsomagolt fájljait a tárhelyünk gyökérkönyvtárába (felülírva ezzel az ott található fájlokat és könyvtárakat) és ugyanez a teendő bővítmények vagy sablonok esetén is (természetesen ezeket a “wp-content/plugins” vagy a “wp-content/themes” könyvtárakba másoljuk). Ha biztosak vagyunk benne, hogy minden naprakész és semmi sem maradt ki, akkor ki is kapcsolhatjuk a karbantartási módot.

Amikor a vezérlőpulton keresztül elindítunk egy frissítést, akkor a WordPress automatikusan elhelyez egy “.maintenance” elnevezésű fájlt a tárhely gyökérkönyvtárába. Amíg ez ott van, addig a weboldal helyett csak egy karbantartási üzenet fogadja majd a látogatókat (és bennünket is, mivel a vezérlőpult sem érhető el ilyenkor). A teendő mindössze annyi, hogy töröljük ezt a fájlt FTP-n keresztül! Mivel pont szerepel a fájlnév előtt, ezért alapértelmezetten rejtett a fájl, tehát ha nem találjuk, akkor engedélyeznünk kell az FTP kliensünkben a rejtett fájlok megjelenítését. Ha mindent jól csináltunk, akkor a fájl törlése után elegendő lesz újratölteni a weboldalt és az ismét életre is fog kelni.

Ritkább eset amikor nem található a gyökérkönyvtárban “.maintenance” fájl. Ilyenkor nyissuk meg a “wp-activate.php” fájlt szerkesztésre, keressük meg a “define( ‘WP_INSTALLING’, true );” sort, majd a “true” szócskát írjuk át “false”-ra, mentsünk és töltsük fel a fájlt, felülírva ezzel a korábbi verziót. Sokaknak ez a módszer oldotta meg a problémát.

Lehetőségünk van még testreszabni is a megjelenő karbantartásra figyelmeztető üzenetet, ehhez mindössze annyi a dolgunk, hogy létrehozunk egy “maintenance.php” fájlt a lenti tartalommal és elhelyezzük a “wp-content” könyvtárba. Így az alapértelmezett egyszerű üzenet helyett az egyéni tartalmunk jelenik majd meg a frissítések futása alatt. Itt a HTML és PHP kódokon kívül természetesen használhatunk CSS-t is az oldal és az üzenet csinosítására.

<?php
$protocol = $_SERVER["SERVER_PROTOCOL"];
if ( 'HTTP/1.1' != $protocol && 'HTTP/1.0' != $protocol )
$protocol = 'HTTP/1.0';
header( "$protocol 503 Service Unavailable", true, 503 );
header( 'Content-Type: text/html; charset=utf-8' );
?>
<html xmlns="http://www.w3.org/1999/xhtml">
<body>
<h1>Az oldal éppen frissítés alatt áll, kérlek nézz vissza néhány perc múlva.</h1>
</body>
</html>
<?php die(); ?>
Ha tetszik, mutasd meg másoknak is: