Sivustonne näyttää tyhjän sivun tai lauseen ”Sivustolla on ollut kriittinen virhe.” Kummassakin tapauksessa PHP on kirjoittanut jonnekin tarkan viestin, joka nimeää vian aiheuttaneen tiedoston. Tämä opas näyttää, mistä viestin voi lukea, miten sitä tulkitaan ja mikä toimenpide sopii kuhunkin viestiin.
wp-config.php-tiedostossa ja ladatkaa virheellinen sivu uudelleen.wp-content/debug.log rivi PHP Fatal error: tiedostopolku nimeää vian aiheuttaneen lisäosan tai teeman.debug.log.Tyhjä sivu on useimmiten PHP:n kriittinen virhe (fatal error): jokin sivuston tiedosto pyysi jotain mahdotonta, ja suoritus pysähtyi ennen kuin mitään ehdittiin näyttää. WordPress 5.2:sta lähtien WordPress sieppaa nämä virheet: tyhjän sivun sijaan se näyttää lauseen ”Sivustolla on ollut kriittinen virhe.” ja lähettää sähköpostin sivuston ylläpidon sähköpostiosoitteeseen.
Sivu jää kokonaan tyhjäksi muutamassa tapauksessa: WordPressin vanhempi versio, virhe, joka tapahtuu ennen tämän turvamekanismin latautumista, vakio WP_DISABLE_FATAL_ERROR_HANDLER asetettuna arvoon true tai välimuistilisäosa, joka tarjoilee vian aikana tallentamansa tyhjän sivun. Seuraava menetelmä toimii kaikissa näissä tapauksissa.
Kolme toimenpidettä voi odottaa, kunnes virhe on luettu: WordPressin uudelleenasennus, lisäosien poistaminen ja vanhan varmuuskopion palauttaminen. Kukin niistä voi pyyhkiä asetuksia tai tuoreita tietoja, kun taas virheilmoitus kertoo yleensä tarkasti, mikä osa poistetaan käytöstä, ja kaikki säilyy.
Kun WordPress sieppaa virheen, se lähettää sivuston ylläpidon sähköpostiosoitteeseen viestin, jonka otsikko on ”[Sivuston nimi] Sivustollasi on tekninen ongelma”. Viesti nimeää vian aiheuttaneen lisäosan tai teeman, ja siinä on linkki, joka avaa hallintapaneelin palautustilassa.
Yhdistäkää sivustoon SFTP:llä tai webhotellin tiedostonhallinnalla, avatkaa juurihakemiston wp-config.php ja korvatkaa rivi define( 'WP_DEBUG', false ); näillä neljällä rivillä:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
@ini_set( 'display_errors', 0 );
Rivit sijoitetaan kommentin /* That's all, stop editing! Happy publishing. */ yläpuolelle. Ladatkaa virheellinen sivu uudelleen ja avatkaa sitten wp-content/debug.log. Kun WP_DEBUG_DISPLAY on false, viestit pysyvät tiedostossa eivätkä näy sivulla, jonka kävijänne näkevät.
Jos debug.log jää tyhjäksi tai sitä ei synny, PHP on kirjannut virheen suoraan: etsikää tiedosto error_log sivuston juurihakemistosta tai kansiosta wp-admin, tai webhotellin hallintapaneelin virhelokien osio.
Kriittinen virhe mahtuu yhdelle riville: virheen tyyppi, sen kuvaus ja sitten in, jota seuraavat tiedoston koko polku ja rivinumero. Polku on hyödyllisin tieto: wp-content/plugins/nimi/ osoittaa lisäosaan, wp-content/themes/nimi/ teemaan.
| Viestissä lukee | Mitä se tarkoittaa | Toimenpide |
|---|---|---|
Call to undefined function tai Class "…" not found, polussa wp-content/plugins/lisaosan-nimi/ | Lisäosa kutsuu koodia, jota ei ole: keskeneräinen päivitys, käytöstä poistettu lisäosa, josta se riippuu, tai PHP-versio, jota se ei tue. | Poistakaa lisäosa käytöstä ja asentakaa tai päivittäkää se sitten uudelleen. |
Allowed memory size of 268435456 bytes exhausted | Skripti ylitti PHP:lle varatun muistin, tässä 268 435 456 bajttia eli 256 Mt. | Nostakaa WP_MEMORY_LIMIT-arvoa wp-config.php-tiedostossa webhotellin asettamissa rajoissa ja selvittäkää sitten, mikä kuluttaa niin paljon. |
PHP Parse error: syntax error, unexpected, tiedostossa functions.php on line 42 | Syntaksivirhe tiedostossa, hyvin usein teemaeditorissa käsin tehdyn muutoksen jälkeen. | Korjatkaa ilmoitettu rivi tai palauttakaa tiedoston edellinen versio. |
Uncaught TypeError tai Uncaught ArgumentCountError, PHP-version vaihdon jälkeen | Vanhemmalle PHP-versiolle kirjoitettu osa, jota nykyinen versio kieltäytyy suorittamasta. | Päivittäkää osa. Hätäratkaisuna palatkaa edelliseen PHP-versioon webhotellin hallintapaneelissa siksi aikaa, kun osa vaihdetaan. |
Maximum execution time of 30 seconds exceeded | Käsittely kesti kauemmin kuin PHP sallii (max_execution_time). | Tunnistakaa käsittely (tuonti, varmuuskopio, kuvien luonti) ja pyytäkää webhotellia nostamaan rajaa, jos käsittely on asianmukainen. |
define( 'WP_MEMORY_LIMIT', '256M' );
Nimetkää viestissä mainitun lisäosan kansio uudelleen, esimerkiksi wp-content/plugins/lisaosan-nimi muotoon lisaosan-nimi.off. WordPress ei enää löydä lisäosaa eikä lataa sitä; sen asetukset pysyvät tietokannassa, ja WordPress poistaa sen käytöstä, kun Lisäosat-näkymä seuraavan kerran avataan.
Teeman kansion uudelleennimeäminen kansiossa wp-content/themes palauttaa pääsyn hallintapaneeliin, mutta kävijät näkevät tyhjän sivun niin kauan kuin mikään teema ei ole aktiivinen. Avatkaa heti Ulkoasu > Teemat: WordPress huomaa, että aktiivinen teema on rikki (”Aktivoitu teema on rikkinäinen. Palataan takaisin oletusteemaan.”), ja vaihtaa asennettuun oletusteemaan.
wp plugin list --status=active
wp plugin deactivate lisaosan-nimi
wp theme list
wp theme activate twentytwentyfive
Ensimmäinen komento tallentaa luettelon aktiivisista lisäosista, mikä on hyödyllistä ennen kuin lisäosia poistetaan käytöstä joukolla. Jos WP-CLI itse pysähtyy virheeseen, lisätkää komentoon --skip-plugins --skip-themes: se käynnistyy silloin lataamatta lisäosia tai teemaa. Kansion wp-content/mu-plugins lisäosat latautuvat silti; jos virhe tulee jostakin niistä, nimetkää sen tiedosto uudelleen.
Kun viesti ei nimeä mitään osaa, wp plugin deactivate --all poistaa käytöstä kaikki lisäosat. Jos sivusto palaa, aktivoikaa ne yksi kerrallaan ja ladatkaa sivusto uudelleen jokaisen välissä: viimeisin ennen virheen paluuta aktivoitu lisäosa on syyllinen.
define( 'WP_DEBUG', false ); ja poistakaa WP_DEBUG_LOG tiedostosta wp-config.php.wp-content/debug.log: verkosta käsin saavutettavassa kansiossa kuka tahansa voi lukea sen, ja se sisältää palvelimen polkuja.Serenity by Simafri -palvelussa teemme ammattimaiset verkkosivunne, isännöimme niitä, suojaamme ne ja pidämme ne ajan tasalla. Te kirjoitatte meille, me huolehdimme kaikesta. Verkkotunnus ja yrityssähköposti sisältyvät.
Koska on tapahtunut PHP:n kriittinen virhe, useimmiten lisäosassa tai teemassa. WordPress sieppaa sen, näyttää tämän ilmoituksen ja lähettää sivuston ylläpidon sähköpostiosoitteeseen viestin, jossa on linkki palautustilaan. Virheenkorjausloki kertoo virheen yksityiskohdat ja vian aiheuttaneen tiedoston.
Tarkistakaa roskapostikansio ja kohdassa Asetukset > Yleinen määritetty ylläpidon sähköpostiosoite. Ilman viestiä ottakaa virheenkorjausloki käyttöön wp-config.php-tiedostossa, lukekaa virhe tiedostosta wp-content/debug.log ja poistakaa viallinen osa käytöstä nimeämällä sen kansio uudelleen SFTP:llä.
Lisäosien asetukset tallennetaan tietokantaan eikä lisäosan kansioon, joten ne säilyvät. Uudelleen nimetty lisäosa näkyy käytöstä poistettuna; palauttakaa kansion alkuperäinen nimi ja aktivoikaa lisäosa Lisäosat-näkymästä, niin se palaa asetuksineen.
Virheen aiheuttava osa voi latautua vain hallintapaneelissa, tai hallintapaneeli tarvitsee enemmän muistia. WordPress soveltaa hallintanäkymiin arvoa WP_MAX_MEMORY_LIMIT ja julkiseen sivustoon arvoa WP_MEMORY_LIMIT. Virheenkorjausloki toimii kummassakin tapauksessa samoin: ladatkaa virheellinen hallintasivu ja lukekaa sitten debug.log.
Simafri
Jutellaan hankkeestasi
Kerro meille muutamalla sanalla, mitä tarvitset: vastaamme sinulle nopeasti.
Kiitos! Pyyntösi on lähetetty. Vastaamme sinulle pian.
Suositko sähköpostia? Kirjoita meille osoitteeseen support@simafri.com.