Fatal error: Call to undefined function wp_initial_constants()
Bikfalvi Moni
2015. június 4. • 4 perc olvasás
Ha a címsorban írt hibaüzenetet még nem láttad, akkor higgy nekem – még nem volt dolgod elegendő számú WordPress oldallal… A tapasztalatszerzés egyik lépcsőfoka ez, és ha elég szerencsétlen vagy ahhoz, hogy kezdő korodban találkozz vele, akkor lehet, hogy soha az életben nem lesz WordPress oldalad. Pedig a megoldás nevetségesen egyszerű, pláne ahhoz képest, hogy elsőre milyen félelmetesnek tűnhet ez a hibaüzenet.
Először is ez a hiba nem valós. Magyarul: nem az a baj, amit az üzenet kiír.
Másodszor: maga a függvény lehet más is, nemcsak ez, de ez a leggyakoribb.
Harmadrészt: ha ilyet látsz, nyugodj meg! (Attól megnyugszol.)
Viccet félretéve: amikor elkészülsz a WordPress fájlok felmásolásával (legalábbis azt hiszed – de erről majd később), és beírod a domainnevedet a böngészőbe (vagy mögé még a /wp-admin/install.php részt, ha nagyon szabályosan akarsz telepíteni), és ezt az üzenetet látod a böngésző tetején (vagy valami hasonlót), akkor ne ess pánikba. Ne kezdd el elölről az egészet, ne keresd a hibát a wp-config.php fájlban.
Mindent jól csináltál.
Csak az internetszolgáltatód (vagy a tárhelyszolgáltatód) nem elég megbízható.
Nem mesélem el az egész tortúrát, amelyen keresztülmentem, amikor először láttam ilyet (pár év múlva biztosan nevetek majd rajta, de most még túl friss az élmény, és a mosolyom nem őszinte), a lényeg az, hogy végigolvastam többtucat bejegyzést különböző fórumokon, és azt láttam, hogy hiába, mert mindenhol csak annyit tanácsoltak, hogy töltsek le egy friss WordPress csomagot a hivatalos oldalról és kezdjem elölről a telepítést. Mivel ezt addigra nagyjából ötödször csináltam végig, éreztem, hogy ez nem fog segíteni. Végül az egyik hozzászólásban elejtett megjegyzés vezetett el a megoldáshoz.
A hiba oka ugyanis az, hogy a meghívott függvény egy olyan fájlban van (helyesebben ott kellene lennie), amely „nem másolódott fel”, azaz látszólag ugyan ott van a tárhelyen, azonban a mérete nulla.
Előfordulhat ugyanis, ha épp nem egészen stabil az internetkapcsolatod, vagy a tárhelyszerver vacakol, hogy a fájlok felmásolásakor a fájlok helyét létrehozza az FTP-program, de maguk a fájlok csak a nevükkel szerepelnek, a méretük nulla, és természetesen üresek.
Az én esetemben a WordPress gyökérkönyvtárban lévő fájljai rendben voltak (ezért is nem gyanakodtam), a wp-admin könyvtár teljes egészében felmásolódott rendben, de a wp-content alatt már voltak hiányok (több bővítmény csak látszólag került fel), a wp-includes könyvtárban pedig az összes fájl mérete nulla volt.
Most sem tudom, hogy a net volt-e ennyire gyenge, vagy a szerverrel volt gond, de tény, hogy a teljes csomag újbóli felmásolása semmit nem oldott meg, legfeljebb mindig más volt a hibaüzenet vége, aszerint, hogy épp mely fájlok lettek üresek. A szerver lényegében két-három percenként ledobott, így könyvtáranként kellett ellenőriznem, hogy minden fájlnak megvan-e a valós, nullától különböző mérete.
Így lehet egy „híres ötperces WordPress telepítést” nyolc órára elhúzni… 🙂