Din webbplats visar en tom vit sida, eller raden ”Det har uppstått ett kritiskt fel på webbplatsen.” I båda fallen har PHP skrivit ett exakt meddelande någonstans, som namnger den fil som orsakar felet. Den här guiden visar var du läser det, hur du tolkar det och vilken åtgärd som hör till varje meddelande.
wp-config.php och laddar om sidan som inte fungerar.PHP Fatal error i wp-content/debug.log: filsökvägen namnger tillägget eller temat som orsakar felet.debug.log.En tom sida är nästan alltid ett fatalt PHP-fel: en fil på webbplatsen bad om något omöjligt, och körningen stannade innan något hann visas. Sedan WordPress 5.2 fångar WordPress de här felen: i stället för en tom sida visar det ”Det har uppstått ett kritiskt fel på webbplatsen.” och skickar ett mejl till webbplatsens administratörsadress.
Sidan förblir helt vit i några få fall: en äldre WordPress-version, ett fel som inträffar innan det här skyddsnätet har laddats, konstanten WP_DISABLE_FATAL_ERROR_HANDLER satt till true, eller ett cachetillägg som serverar en tom sida som det sparade under haveriet. Metoden nedan fungerar i alla dessa fall.
Tre åtgärder kan vänta tills du har läst felet: att installera om WordPress, att radera tillägg och att återställa en gammal säkerhetskopia. Var och en kan radera inställningar eller nya data, medan felmeddelandet oftast talar om exakt vilken komponent du ska stänga av, utan att något går förlorat.
När WordPress fångar felet skickar det ett mejl till webbplatsens administratörsadress med ämnet ”[Webbplatsens namn] Din webbplats har råkat ut för ett tekniskt problem”. Det namnger tillägget eller temat som orsakar felet och innehåller en länk som öppnar adminpanelen i räddningsläge.
Anslut till webbplatsen via SFTP eller med webbhotellets filhanterare, öppna wp-config.php i rotmappen och ersätt raden define( 'WP_DEBUG', false ); med de här fyra raderna:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
@ini_set( 'display_errors', 0 );
De ska stå ovanför raden /* That's all, stop editing! Happy publishing. */. Ladda om sidan som inte fungerar och öppna sedan wp-content/debug.log. Med WP_DEBUG_DISPLAY satt till false hamnar meddelandena i filen och inte på sidan som dina besökare ser.
Förblir debug.log tom eller dyker inte upp har PHP loggat felet självt: leta efter en fil som heter error_log i webbplatsens rotmapp eller i wp-admin, eller efter avsnittet med felloggar i webbhotellets kontrollpanel.
Ett fatalt fel ryms på en rad: feltypen, en beskrivning, sedan in följt av filens fullständiga sökväg och radnumret. Sökvägen är den mest användbara delen: wp-content/plugins/namn/ pekar på ett tillägg, wp-content/themes/namn/ på ett tema.
| Meddelandet innehåller | Vad det betyder | Åtgärden |
|---|---|---|
Call to undefined function eller Class "…" not found, i wp-content/plugins/tillaggets-namn/ | Tillägget anropar kod som saknas: en ofullständig uppdatering, ett tillägg som det är beroende av har stängts av, eller en PHP-version som det inte stöder. | Inaktivera tillägget och installera sedan om eller uppdatera det. |
Allowed memory size of 268435456 bytes exhausted | Skriptet överskred det minne som PHP tillåter, här 268 435 456 byte, alltså 256 MB. | Höj WP_MEMORY_LIMIT i wp-config.php, inom den gräns som webbhotellet sätter, och ta sedan reda på vad som använder så mycket. |
PHP Parse error: syntax error, unexpected, i functions.php on line 42 | Ett syntaxfel i en fil, mycket ofta efter en manuell ändring i temats filredigerare. | Rätta den angivna raden, eller lägg tillbaka den tidigare versionen av filen. |
Uncaught TypeError eller Uncaught ArgumentCountError, efter ett byte av PHP-version | En komponent skriven för en äldre PHP-version, som den nuvarande versionen vägrar köra. | Uppdatera komponenten. Som tillfällig lösning kan du gå tillbaka till den tidigare PHP-versionen i webbhotellets kontrollpanel medan du byter ut den. |
Maximum execution time of 30 seconds exceeded | En uppgift kördes längre än PHP tillåter (max_execution_time). | Identifiera uppgiften (import, säkerhetskopiering, bildgenerering) och låt webbhotellet höja gränsen om uppgiften är legitim. |
define( 'WP_MEMORY_LIMIT', '256M' );
Byt namn på mappen för tillägget som meddelandet namnger, till exempel wp-content/plugins/tillaggets-namn till tillaggets-namn.off. WordPress hittar inte längre tillägget och slutar ladda det; dess inställningar ligger kvar i databasen, och WordPress inaktiverar det nästa gång sidan Tillägg öppnas.
För ett tema ger ett namnbyte på dess mapp i wp-content/themes tillbaka adminpanelen, men besökarna ser en tom sida så länge inget tema är aktivt. Öppna Utseende > Teman direkt: WordPress märker att det aktiva temat är trasigt och återgår till ett installerat standardtema.
wp plugin list --status=active
wp plugin deactivate tillaggets-namn
wp theme list
wp theme activate twentytwentyfive
Det första kommandot noterar vilka tillägg som är aktiva, vilket är bra att ha innan en massinaktivering. Stannar WP-CLI självt på felet, lägg till --skip-plugins --skip-themes i kommandot så att det startar utan att ladda tilläggen eller temat. Tilläggen i wp-content/mu-plugins laddas ändå; kommer felet från ett av dem, byt namn på dess fil.
När meddelandet inte namnger någon komponent stänger wp plugin deactivate --all av alla tillägg. Kommer webbplatsen tillbaka, aktivera dem igen ett i taget och ladda om webbplatsen mellan varje: det sist återaktiverade innan felet återkommer är boven.
define( 'WP_DEBUG', false ); och ta bort WP_DEBUG_LOG från wp-config.php.wp-content/debug.log: filen ligger i en mapp som nås från webben, vem som helst kan läsa den, och den innehåller sökvägar på servern.Med Serenity by Simafri skapar vi din professionella webbplats, driftar den, säkrar den och håller den uppdaterad. Du skriver till oss, vi tar hand om allt. Domännamn och företagsmejl ingår.
Därför att ett fatalt PHP-fel har inträffat, oftast i ett tillägg eller ett tema. WordPress fångar det, visar det här meddelandet och mejlar webbplatsens administratörsadress en länk till räddningsläget. Felsökningsloggen ger detaljerna om felet och den fil som orsakar det.
Titta i skräpposten och kontrollera fältet ”E-postadress för administration” under Inställningar > Allmänt. Utan mejlet slår du på felsökningsloggen i wp-config.php, läser felet i wp-content/debug.log och stänger sedan av den felande komponenten genom att byta namn på dess mapp via SFTP.
Tilläggets inställningar lagras i databasen, inte i tilläggets mapp, så de finns kvar. Ett tillägg med omdöpt mapp visas som inaktiverat; ge mappen dess ursprungliga namn och aktivera tillägget igen från sidan Tillägg, så är det tillbaka med sina inställningar.
Den felande komponenten kanske bara laddas i adminpanelen, eller så behöver adminpanelen mer minne. WordPress tillämpar WP_MAX_MEMORY_LIMIT på administrationssidorna och WP_MEMORY_LIMIT på den publika webbplatsen. Felsökningsloggen fungerar på samma sätt i båda fallen: ladda den administrationssida som inte fungerar och läs sedan debug.log.
Simafri
Låt oss prata om din webbplats
Berätta om ditt projekt med några ord: vi återkommer snabbt.
Tack! Din förfrågan har skickats. Vi återkommer till dig inom kort.
Föredrar du e-post? Skriv till oss på support@simafri.com.