Váš web zobrazuje prázdnou stránku, nebo větu „Na webu došlo k závažné chybě.“ V obou případech PHP někam zapsalo přesné hlášení, které jmenuje soubor, v němž chyba vznikla. Tento průvodce ukazuje, kde hlášení najít, jak ho vyložit a jaký krok odpovídá kterému hlášení.
wp-config.php ladicí log a znovu načtěte stránku s chybou.PHP Fatal error ve wp-content/debug.log: cesta k souboru jmenuje plugin nebo šablonu, která chybu způsobuje.debug.log smažte.Bílá stránka je nejčastěji fatální chyba PHP: soubor webu požadoval něco nemožného a běh se zastavil dřív, než cokoli zobrazil. Od verze 5.2 WordPress tyto chyby zachytává: místo prázdné stránky zobrazí „Na webu došlo k závažné chybě.“ a pošle e-mail na e-mailovou adresu administrátora webu.
Stránka zůstane úplně bílá jen v několika případech: starší verze WordPressu, chyba vzniklá před načtením tohoto mechanismu, konstanta WP_DISABLE_FATAL_ERROR_HANDLER nastavená na true nebo plugin pro cache, který servíruje prázdnou stránku uloženou během poruchy. Postup, který následuje, platí pro všechny tyto případy.
Tři kroky mohou počkat, až si chybu přečtete: přeinstalace WordPressu, mazání pluginů, obnova staré zálohy. Každý z nich může smazat nastavení nebo nedávná data, zatímco chybové hlášení obvykle řekne, kterou součást deaktivovat, a to bez jakékoli ztráty.
Když WordPress chybu zachytí, pošle na e-mailovou adresu administrátora webu zprávu s předmětem „[Název webu] Web má technické potíže“. Zpráva jmenuje plugin nebo šablonu, která chybu způsobuje, a obsahuje odkaz, který otevře administraci v režimu obnovení.
Připojte se k webu přes SFTP nebo správcem souborů u poskytovatele hostingu, otevřete wp-config.php v kořenovém adresáři a řádek define( 'WP_DEBUG', false ); nahraďte těmito čtyřmi řádky:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
@ini_set( 'display_errors', 0 );
Vložte je nad komentář, který uzavírá upravitelnou část souboru (/* That's all, stop editing! Happy publishing. */, který WordPress v češtině ponechává v angličtině). Znovu načtěte stránku s chybou a otevřete wp-content/debug.log. WP_DEBUG_DISPLAY nastavené na false drží hlášení v souboru, mimo stránku, kterou vidí návštěvníci.
Pokud debug.log zůstane prázdný nebo se neobjeví, zapsalo chybu přímo PHP: hledejte soubor error_log v kořeni webu nebo ve wp-admin, případně sekci chybových logů v panelu poskytovatele hostingu.
Fatální chyba se vejde na jeden řádek: typ chyby, její popis, pak in a za ním úplná cesta k souboru a číslo řádku. Cesta je nejužitečnější informace: wp-content/plugins/nazev/ označuje plugin, wp-content/themes/nazev/ šablonu.
| Hlášení obsahuje | Co to znamená | Krok |
|---|---|---|
Call to undefined function nebo Class "…" not found, ve wp-content/plugins/nazev-pluginu/ | Plugin volá kód, který chybí: neúplná aktualizace, deaktivovaný plugin, na kterém závisí, nebo verze PHP, kterou nepodporuje. | Deaktivovat tento plugin a pak ho přeinstalovat nebo aktualizovat. |
Allowed memory size of 268435456 bytes exhausted | Skript překročil paměť přidělenou PHP, zde 268 435 456 bajtů, tedy 256 MB. | Zvýšit WP_MEMORY_LIMIT ve wp-config.php, v rámci limitu stanoveného poskytovatelem hostingu, a pak hledat, co tolik spotřebovává. |
PHP Parse error: syntax error, unexpected, ve functions.php on line 42 | Syntaktická chyba v souboru, velmi často po ruční úpravě v editoru šablon. | Opravit uvedený řádek, nebo vrátit předchozí verzi souboru. |
Uncaught TypeError nebo Uncaught ArgumentCountError, po změně verze PHP | Součást napsaná pro starší verzi PHP, kterou nasazená verze odmítá spustit. | Součást aktualizovat. Jako dočasné řešení vrátit v panelu poskytovatele hostingu předchozí verzi PHP, dokud součást nenahradíte. |
Maximum execution time of 30 seconds exceeded | Zpracování překročilo dobu, kterou PHP povoluje (max_execution_time). | Zjistit, o jaké zpracování jde (import, záloha, generování obrázků), a pokud je legitimní, zvýšit limit u poskytovatele hostingu. |
define( 'WP_MEMORY_LIMIT', '256M' );
Přejmenujte složku pluginu uvedeného v hlášení, například wp-content/plugins/nazev-pluginu na nazev-pluginu.off. WordPress plugin nenajde a přestane ho načítat; jeho nastavení zůstává uložené v databázi a WordPress ho deaktivuje při příštím otevření obrazovky pluginů.
U šablony zpřístupní přejmenování její složky ve wp-content/themes znovu administraci, ale návštěvníci vidí prázdnou stránku, dokud není aktivní žádná šablona. Hned otevřete Vzhled > Šablony: WordPress zjistí, že aktivní šablona je poškozená, a přepne na nainstalovanou výchozí šablonu.
wp plugin list --status=active
wp plugin deactivate nazev-pluginu
wp theme list
wp theme activate twentytwentyfive
První příkaz vypíše seznam aktivních pluginů, který se hodí uschovat před jakoukoli hromadnou deaktivací. Pokud se WP-CLI sám zastaví na chybě, přidejte k příkazu --skip-plugins --skip-themes: spustí se pak bez načtení pluginů a šablony. Pluginy ze složky wp-content/mu-plugins se načtou i tak; pokud chyba pochází z některého z nich, přejmenujte jeho soubor.
Když hlášení žádnou součást neoznačuje, wp plugin deactivate --all deaktivuje všechny pluginy. Pokud se web vrátí, aktivujte je znovu jeden po druhém a mezi každým web znovu načtěte: ten, po jehož aktivaci se chyba vrátí, je ten pravý.
define( 'WP_DEBUG', false ); a odstraňte WP_DEBUG_LOG z wp-config.php.wp-content/debug.log: ve složce dostupné z webu si ho může přečíst kdokoli a obsahuje cesty na serveru.Se Serenity by Simafri vytvoříme vaše profesionální webové stránky, hostujeme je, zabezpečíme a udržujeme aktuální. Vy nám napíšete, my se postaráme o vše. Název domény a firemní e-mail v ceně.
Protože nastala fatální chyba PHP, nejčastěji v pluginu nebo šabloně. WordPress ji zachytí, zobrazí toto hlášení a pošle e-mail na e-mailovou adresu administrátora webu, s odkazem do režimu obnovení. Ladicí log uvádí podrobnosti chyby a soubor, ve kterém vznikla.
Podívejte se do složky se spamem a zkontrolujte pole E-mailová adresa administrátora v Nastavení > Obecné. Bez e-mailu zapněte ladicí log ve wp-config.php, přečtěte si chybu ve wp-content/debug.log a vadnou součást deaktivujte přejmenováním její složky přes SFTP.
Ne. Nastavení pluginů je uložené v databázi, ne v jejich složce. Přejmenovaný plugin se zobrazí jako deaktivovaný; vraťte mu původní název a znovu ho aktivujte na obrazovce pluginů, a najdete ho i s nastavením.
Vadná součást se načítá jen v administraci, nebo je tam potřebná paměť vyšší. WordPress uplatňuje WP_MAX_MEMORY_LIMIT na obrazovky administrace a WP_MEMORY_LIMIT na veřejný web. Ladicí log dává v obou případech stejnou informaci: načtěte stránku administrace s chybou a pak si přečtěte debug.log.
Simafri
Promluvme si o vašem záměru
Řekněte nám v pár slovech, co potřebujete: rychle se vám ozveme.
Děkujeme! Vaše zpráva byla odeslána. Brzy se vám ozveme.
Máte raději e-mail? Napište nám na support@simafri.com.