Din hjemmeside viser en tom side, eller linjen «Der er sket en kritisk fejl på dit websted.» I begge tilfælde har PHP skrevet en præcis besked et sted, og den nævner den fil, der er skyld i fejlen. Denne guide viser, hvor du læser beskeden, hvordan du tolker den, og hvilken løsning der hører til hver besked.
wp-config.php og genindlæser den side, der fejler.PHP Fatal error i wp-content/debug.log: filstien nævner det plugin eller tema, der er skyld i fejlen.debug.log.En tom side er næsten altid en fatal PHP-fejl: en fil på hjemmesiden bad om noget umuligt, og kørslen stoppede, før noget blev vist. Siden WordPress 5.2 fanger WordPress disse fejl: i stedet for en tom side viser det «Der er sket en kritisk fejl på dit websted.» og sender en mail til hjemmesidens administrationsadresse.
Siden forbliver helt hvid i nogle få tilfælde: en ældre WordPress-version, en fejl, der opstår, før dette sikkerhedsnet er indlæst, konstanten WP_DISABLE_FATAL_ERROR_HANDLER sat til true, eller et cacheplugin, der serverer en tom side, som det gemte under fejlen. Metoden nedenfor virker i alle tilfældene.
Tre indgreb kan vente, til du har læst fejlen: at geninstallere WordPress, at slette plugins og at gendanne en gammel sikkerhedskopi. Hver af dem kan slette indstillinger eller nyere data, mens fejlbeskeden som regel fortæller dig præcis, hvilken komponent du skal slå fra, uden at noget går tabt.
Når WordPress fanger fejlen, sender det en mail til hjemmesidens administrationsadresse med emnet «[Webstedets navn] Dit websted har et teknisk problem». Den nævner det plugin eller tema, der er skyld i fejlen, og indeholder et link, der åbner administrationen i gendannelsestilstand.
Forbind dig til hjemmesiden via SFTP eller med din udbyders filhåndtering, åbn wp-config.php i rodmappen, og erstat linjen define( 'WP_DEBUG', false ); med disse fire linjer:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
@ini_set( 'display_errors', 0 );
De skal stå over linjen /* That's all, stop editing! Happy publishing. */. Genindlæs den side, der fejler, og åbn derefter wp-content/debug.log. WP_DEBUG_DISPLAY sat til false holder beskederne i filen og væk fra den side, dine besøgende ser.
Forbliver debug.log tom, eller dukker den ikke op, har PHP selv logget fejlen: led efter en fil ved navn error_log i hjemmesidens rodmappe eller i wp-admin, eller efter afsnittet med fejllogfiler i din udbyders kontrolpanel.
En fatal fejl fylder én linje: fejltypen, dens beskrivelse, derefter in efterfulgt af den fulde filsti og linjenummeret. Stien er den mest nyttige del: wp-content/plugins/navn/ peger på et plugin, wp-content/themes/navn/ på et tema.
| Beskeden indeholder | Det betyder | Løsningen |
|---|---|---|
Call to undefined function eller Class "…" not found, i wp-content/plugins/plugin-navn/ | Pluginet kalder kode, der mangler: en ufuldstændig opdatering, et plugin, det afhænger af, som er slået fra, eller en PHP-version, det ikke understøtter. | Deaktiver pluginet, og geninstaller eller opdater det derefter. |
Allowed memory size of 268435456 bytes exhausted | Scriptet brugte mere hukommelse, end PHP tillader, her 268.435.456 bytes, altså 256 MB. | Hæv WP_MEMORY_LIMIT i wp-config.php, inden for den grænse, din udbyder sætter, og find derefter ud af, hvad der bruger så meget. |
PHP Parse error: syntax error, unexpected, i functions.php on line 42 | En syntaksfejl i en fil, meget ofte efter en manuel ændring i temaets fileditor. | Ret den viste linje, eller sæt den tidligere version af filen tilbage. |
Uncaught TypeError eller Uncaught ArgumentCountError, efter et skift af PHP-version | En komponent skrevet til en ældre PHP-version, som den nuværende version nægter at køre. | Opdater komponenten. Som midlertidig løsning kan du skifte tilbage til den tidligere PHP-version i din udbyders kontrolpanel, mens du udskifter den. |
Maximum execution time of 30 seconds exceeded | En opgave kørte længere, end PHP tillader (max_execution_time). | Find opgaven (import, sikkerhedskopiering, generering af billeder), og få grænsen hævet hos din udbyder, hvis opgaven er legitim. |
define( 'WP_MEMORY_LIMIT', '256M' );
Omdøb mappen for det plugin, beskeden nævner, for eksempel wp-content/plugins/plugin-navn til plugin-navn.off. WordPress finder ikke længere pluginet og holder op med at indlæse det; dets indstillinger forbliver gemt i databasen, og WordPress deaktiverer det, næste gang skærmen Plugins åbnes.
For et tema giver en omdøbning af mappen i wp-content/themes dig administrationen tilbage, men de besøgende ser en tom side, så længe intet tema er aktivt. Åbn straks Udseende > Temaer: WordPress opdager, at det aktive tema er defekt, og skifter tilbage til et installeret standardtema.
wp plugin list --status=active
wp plugin deactivate plugin-navn
wp theme list
wp theme activate twentytwentyfive
Den første kommando noterer, hvilke plugins der er aktive, og den liste er god at have før enhver samlet deaktivering. Stopper WP-CLI selv på fejlen, så tilføj --skip-plugins --skip-themes til kommandoen: så starter den uden at indlæse plugins eller temaet. Plugins i wp-content/mu-plugins indlæses alligevel; kommer fejlen fra et af dem, så omdøb dets fil.
Når beskeden ikke nævner nogen komponent, slår wp plugin deactivate --all alle plugins fra. Kommer hjemmesiden tilbage, så genaktiver dem ét ad gangen, og genindlæs hjemmesiden imellem: det sidste plugin, du genaktiverede, før fejlen vendte tilbage, er synderen.
define( 'WP_DEBUG', false ); igen, og fjern WP_DEBUG_LOG fra wp-config.php.wp-content/debug.log: filen ligger i en mappe, der kan nås fra nettet, så alle kan læse den, og den indeholder stier på serveren.Med Serenity by Simafri opretter vi din professionelle hjemmeside, hoster den, sikrer den og holder den opdateret. Du skriver til os, vi tager os af alt. Domænenavn og professionel e-mail inkluderet.
Fordi der er opstået en fatal PHP-fejl, oftest i et plugin eller et tema. WordPress fanger den, viser denne besked og sender en mail til hjemmesidens administrationsadresse med et link til gendannelsestilstand. Fejlfindingsloggen giver detaljerne om fejlen og den fil, der er skyld i den.
Tjek spammappen og den administrationsmailadresse, der er angivet under Indstillinger > Generelt. Uden mailen slår du fejlfindingsloggen til i wp-config.php, læser fejlen i wp-content/debug.log og slår derefter den fejlende komponent fra ved at omdøbe dens mappe via SFTP.
Et plugins indstillinger er gemt i databasen og ikke i pluginets mappe, så de bliver. Et omdøbt plugin vises som deaktiveret; giv mappen dens oprindelige navn igen, og genaktiver pluginet fra skærmen Plugins for at få det tilbage med dets indstillinger.
Den fejlende komponent indlæses måske kun i administrationen, eller administrationen har brug for mere hukommelse. WordPress anvender WP_MAX_MEMORY_LIMIT på administrationens skærme og WP_MEMORY_LIMIT på den offentlige hjemmeside. Fejlfindingsloggen virker på samme måde i begge tilfælde: indlæs den administrationsside, der fejler, og læs derefter debug.log.
Simafri
Lad os tale om din hjemmeside
Fortæl os om dit projekt med få ord: vi vender hurtigt tilbage til dig.
Tak! Din forespørgsel er sendt. Vi vender tilbage til dig hurtigst muligt.
Foretrækker du e-mail? Skriv til os på support@simafri.com.