Vaša stran prikazuje prazno belo stran ali vrstico „Na spletišču je prišlo do kritične napake.“ V obeh primerih je PHP nekam zapisal natančno sporočilo, ki navede odgovorno datoteko. Ta vodnik pokaže, kje ga preberete, kako ga razumete in kateri popravek sodi k posameznemu sporočilu.
wp-config.php in znova naložite okvarjeno stran.wp-content/debug.log preberite vrstico PHP Fatal error: pot do datoteke navede vtičnik ali temo, ki napako povzroča.debug.log.Prazna stran je skoraj vedno usodna napaka PHP (fatal error): datoteka na strani je zahtevala nekaj nemogočega in izvajanje se je ustavilo, preden se je kar koli prikazalo. Od različice 5.2 WordPress te napake prestreže: namesto prazne strani prikaže „Na spletišču je prišlo do kritične napake.“ in pošlje e-poštno sporočilo na naslov skrbnika strani.
Stran ostane povsem bela v nekaj primerih: starejša različica WordPressa, napaka, ki nastane, preden se ta varovalka naloži, konstanta WP_DISABLE_FATAL_ERROR_HANDLER, nastavljena na true, ali vtičnik za predpomnjenje, ki streže prazno stran, shranjeno med okvaro. Spodnji postopek deluje v vseh teh primerih.
Trije koraki lahko počakajo, dokler ne preberete napake: ponovna namestitev WordPressa, brisanje vtičnikov, obnovitev stare varnostne kopije. Vsak lahko izbriše nastavitve ali nedavne podatke, sporočilo o napaki pa vam navadno natančno pove, kateri sestavni del izklopiti, brez kakršne koli izgube.
Ko WordPress napako prestreže, na naslov skrbnika strani pošlje sporočilo z zadevo „[Ime strani] Vaše spletišče ima tehnične težave“. Sporočilo navede vtičnik ali temo, ki napako povzroča, in vsebuje povezavo, ki nadzorno ploščo odpre v obnovitvenem načinu.
Povežite se s stranjo prek SFTP ali z upraviteljem datotek vašega ponudnika gostovanja, v korenski mapi odprite wp-config.php in vrstico define( 'WP_DEBUG', false ); zamenjajte s temi štirimi vrsticami:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
@ini_set( 'display_errors', 0 );
Sodijo nad vrstico /* That's all, stop editing! Happy publishing. */. Znova naložite okvarjeno stran, nato odprite wp-content/debug.log. Nastavitev WP_DEBUG_DISPLAY na false sporočila zadrži v datoteki, na strani, ki jo vidijo obiskovalci, pa se ne prikažejo.
Če debug.log ostane prazen ali se ne pojavi, je napako zabeležil PHP sam: poiščite datoteko error_log v korenski mapi strani ali v wp-admin ali razdelek z dnevniki napak na nadzorni plošči gostovanja.
Usodna napaka je zapisana v eni vrstici: vrsta napake, njen opis, nato in, ki mu sledita celotna pot do datoteke in številka vrstice. Pot je najuporabnejši del: wp-content/plugins/ime/ kaže na vtičnik, wp-content/themes/ime/ na temo.
| Sporočilo vsebuje | Kaj pomeni | Popravek |
|---|---|---|
Call to undefined function ali Class "…" not found, v wp-content/plugins/ime-vticnika/ | Vtičnik kliče kodo, ki manjka: nedokončana posodobitev, izklopljen vtičnik, od katerega je odvisen, ali različica PHP, ki je ne podpira. | Deaktivirajte ta vtičnik, nato ga znova namestite ali posodobite. |
Allowed memory size of 268435456 bytes exhausted | Skripta je presegla pomnilnik, ki ga dovoljuje PHP, tu 268.435.456 bajtov oziroma 256 MB. | V wp-config.php zvišajte WP_MEMORY_LIMIT znotraj omejitve, ki jo določa vaš ponudnik gostovanja, nato ugotovite, kaj porabi toliko pomnilnika. |
PHP Parse error: syntax error, unexpected, v functions.php on line 42 | Skladenjska napaka v datoteki, zelo pogosto po ročnem urejanju v urejevalniku datotek teme. | Popravite navedeno vrstico ali vrnite prejšnjo različico datoteke. |
Uncaught TypeError ali Uncaught ArgumentCountError, po menjavi različice PHP | Sestavni del, napisan za starejšo različico PHP, ki ga trenutna različica noče izvesti. | Posodobite sestavni del. Kot začasno rešitev se na nadzorni plošči ponudnika gostovanja vrnite na prejšnjo različico PHP, dokler ga ne zamenjate. |
Maximum execution time of 30 seconds exceeded | Opravilo je teklo dlje, kot dovoljuje PHP (max_execution_time). | Ugotovite, za katero opravilo gre (uvoz, varnostna kopija, ustvarjanje slik), in če je opravilo upravičeno, naj ponudnik gostovanja omejitev zviša. |
define( 'WP_MEMORY_LIMIT', '256M' );
Preimenujte mapo vtičnika, navedenega v sporočilu, na primer wp-content/plugins/ime-vticnika v ime-vticnika.off. WordPress vtičnika ne najde več in ga preneha nalagati; njegove nastavitve ostanejo shranjene v podatkovni zbirki, WordPress pa ga deaktivira, ko naslednjič odprete zaslon Vtičniki.
Pri temi preimenovanje njene mape v wp-content/themes vrne dostop do nadzorne plošče, vendar obiskovalci vidijo prazno stran, dokler ni aktivna nobena tema. Takoj odprite Videz > Teme: WordPress zazna, da je aktivna tema poškodovana, in preklopi na nameščeno privzeto temo.
wp plugin list --status=active
wp plugin deactivate ime-vticnika
wp theme list
wp theme activate twentytwentyfive
Prvi ukaz zabeleži, kateri vtičniki so aktivni, kar je koristno imeti pred vsakim množičnim deaktiviranjem. Če se tudi WP-CLI ustavi na napaki, ukazu dodajte --skip-plugins --skip-themes, da se zažene brez nalaganja vtičnikov in teme. Vtičniki v wp-content/mu-plugins se vseeno naložijo; če napako povzroča eden od njih, preimenujte njegovo datoteko.
Kadar sporočilo ne navaja nobenega sestavnega dela, wp plugin deactivate --all izklopi vse vtičnike. Če stran spet deluje, jih aktivirajte enega za drugim in vmes znova naložite stran: zadnji, ki ste ga aktivirali, preden se napaka vrne, je krivec.
wp-config.php znova nastavite define( 'WP_DEBUG', false ); in odstranite WP_DEBUG_LOG.wp-content/debug.log: ker je v mapi, dostopni s spleta, ga lahko prebere kdor koli, vsebuje pa poti na strežniku.S storitvijo Serenity by Simafri izdelamo vašo profesionalno spletno stran, jo gostimo, varujemo in vzdržujemo posodobljeno. Vi nam pišete, mi poskrbimo za vse. Domensko ime in poslovna e-pošta sta vključena.
Ker je nastala usodna napaka PHP, najpogosteje v vtičniku ali temi. WordPress jo prestreže, prikaže to sporočilo in na naslov skrbnika strani pošlje e-poštno sporočilo s povezavo do obnovitvenega načina. Dnevnik razhroščevanja da podrobnosti napake in datoteko, ki jo povzroča.
Preverite mapo vsiljene pošte in e-poštni naslov skrbnika, nastavljen v Nastavitve > Splošno. Brez tega sporočila vklopite dnevnik razhroščevanja v wp-config.php, preberite napako v wp-content/debug.log, nato okvarjeni sestavni del izklopite tako, da prek SFTP preimenujete njegovo mapo.
Nastavitve vtičnika so shranjene v podatkovni zbirki, ne v mapi vtičnika, zato ostanejo. Preimenovan vtičnik je prikazan kot deaktiviran; mapi vrnite prvotno ime in ga znova aktivirajte na zaslonu Vtičniki, pa ga dobite nazaj z vsemi nastavitvami.
Okvarjeni sestavni del se morda naloži samo na nadzorni plošči, ali pa nadzorna plošča potrebuje več pomnilnika. WordPress za skrbniške zaslone uporablja WP_MAX_MEMORY_LIMIT, za javno stran pa WP_MEMORY_LIMIT. Dnevnik razhroščevanja deluje v obeh primerih enako: naložite okvarjeno skrbniško stran, nato preberite debug.log.
Simafri
Pogovorimo se o vašem projektu
Povejte nam v nekaj besedah, kaj potrebujete: hitro se vam oglasimo.
Hvala! Vaše povpraševanje je bilo poslano. Kmalu vam bomo odgovorili.
Imate raje e-pošto? Pišite nam na support@simafri.com.