Odstranění bílé obrazovky smrti na WordPress. Zvýšení limitu paměti PHP

podle admin na 26. srpna 2011

Včera jsem narazil na problém s prázdnou stránkou při přihlašování do blogu na WordPressu. To znamená, že když jdu na svůj web, zobrazí se bílá prázdná stránka a nic jiného. Tento problém mezi uživateli WordPress se také nazývá „bílá obrazovka smrti“.

V mém případě při vstupu na web se při přístupu z WWW zobrazila bílá stránka. Když napíšete web bez WWW, web se zobrazí normálně.
Tedy např. www.. A na stránkách je vše OK.
Prázdná stránka se také může objevit poté, co publikujete příspěvek nebo aktivujete plugin. To znamená, že namísto návratu na stránku správce s potvrzením změn se zobrazí prázdná stránka.
Stává se to také, když web ani panel správce WordPress se vůbec neotevře. Neexistuje žádná chybová zpráva, pouze bílá obrazovka.
Nebojte se, to vše se dá napravit.

Prázdná stránka WordPress

Nejčastější příčiny bílé obrazovky ve WordPressu

1) Mezery navíc v souboru wp-config.php
Řešení: Odstraňte přebytečné mezery na konci souboru wp-config.php ?>
2) Mezery navíc nebo něco špatně ve wp-settings.php
Řešení: Stejné jako v bodě 1.
3) Nově nainstalovaný plugin není kompatibilní s ničím jiným již nainstalovaným ve WordPressu
Řešení: Vypněte plugin a zkontrolujte, zda se tím problém vyřeší. Pokud si nejste jisti po instalaci, u kterého pluginu se problém objevil, začněte pluginy jeden po druhém deaktivovat a pokaždé zkontrolujte, zda stránka funguje.
4) Aktualizovali jste svou verzi WordPressu
Řešení: Zkuste aktualizovat WordPress znovu, pokud to nepomůže, podívejte se na předchozí body.

Extra mezery wp-config.php

V mém případě problémem byly mezery navíc na konci souboru wp-config.php, tedy po ?> Musel jsem odstranit všechny přebytečné prostory.
To pomohlo vyřešit problém.

Záloha

S jiným webem se vše ukázalo být složitější. Zkoušel jsem všechna výše uvedená řešení, ale nepomohlo to. Poté jsem přešel na webovou stránku svého poskytovatele hostingu, přešel do sekce Záloha a provedl zálohu souborů wp-config.php a wp-settings.php
To znamená, že nejde o zálohu celého webu (v tomto případě by byly všechny mé změny na webu za pár dní ztraceny). A POUZE tyto soubory. Jsou tedy hlavním důvodem bílé obrazovky WordPressu.
To pomohlo.

Pokud používáte WordPress delší dobu, pravděpodobně jste se alespoň jednou setkali s „bílou obrazovkou smrti“. Důvod, proč tento okamžik uživatele rozčiluje, je, že se nelze dostat do administrační oblasti. A protože se chybový text na obrazovce ve většině případů nezobrazuje, zůstáváte v nevědomosti o tom, kde se problém vloudil. Nejnepříjemnější je, že někdy se problém týká pouze určité části webu a vy například vidíte bílou obrazovku pouze v admin panelu, ale hlavní stránka se zobrazuje a funguje jako obvykle. Někdy se to stane pouze pro nějaký záznam a zbytek opět funguje dobře. V tomto článku vám řekneme, jak opravit bílou obrazovku smrti ve WordPressu, a podíváme se na několik možných řešení.

Poznámka: Před použitím změn na webu se ujistěte, že máte nedávnou zálohu.

Proč k této chybě dochází?

Nejčastěji bílá obrazovka znamená, že jste dosáhli limitu paměti. To může být způsobeno pluginem, který funguje, ale nefunguje správně; téma je napsáno s chybami; Problém může být s vaším hostingem. Protože problém může být způsoben několika faktory, může mít mnoho řešení.

Ovlivňuje problém vaše další weby?

Pokud máte více webových stránek, pak první věc, kterou byste měli udělat, je zkontrolovat, zda se bílá obrazovka smrti vyskytuje na všech z nich nebo pouze na jedné doméně. Pokud nejsou v pořádku ani ostatní stránky, znamená to problémy s poskytovatelem hostingu. Pokud je však problém pouze na jednom z vašich webů, měli byste se podívat na plugin nebo nainstalovanou šablonu. Pokud je problém s konkrétním blogovým příspěvkem nebo stránkou, pak je určitě problém s konkrétním webem.

Zvýšení limitu paměti

Obvykle k tomuto problému dochází, protože jste dosáhli limitu paměti.
Migroval jsem mnoho klientských webů a někdy se při aktivaci nového pluginu nebo provádění jiných úkolů objevila chyba omezení paměti. Chyba obvykle vypadá takto:

Závažná chyba: Vyčerpaná povolená velikost paměti 33554432 bajtů (pokus o přidělení 2348617 bajtů) v /home4/xxx/public_html/wp-includes/plugin.php na řádku xxx

Abychom to vyřešili, otevřeme náš soubor wp-config.php, který se nachází v kořenové složce WordPress. Poté přidejte následující kód do hlavní značky php:

Define("WP_MEMORY_LIMIT", "64M");

Právě jsme zvýšili limit paměti na 64 MB. Pokud chyba přetrvává, kontaktujte svého hostitele. Zvýší limit v php.ini.

Zakázání všech pluginů

Pokud zvýšení paměti nepomohlo nebo máte vysoký limit, například 256 MB nebo 512 MB, měli byste začít s odstraňováním problémů krok za krokem. Podle mých zkušeností s problémy, jako je tento, je to obvykle problém s pluginem nebo šablonou. Pokračujte a deaktivujte pluginy. Můžete to udělat podle pokynů:

Pokud tato metoda pomohla, povolte pluginy jeden po druhém.

Nahrazení šablony standardní šablonou WordPress

Pokud metoda pluginu nepomůže, měli byste zkusit změnit svou aktuální šablonu na šablonu, která je součástí motoru. Nejlepší způsob, jak to udělat, je zálohovat aktuální složku motivu, poté ji odstranit a VI se automaticky přepne na výchozí motiv.

Případně můžete přejít na phpMyAdmin a aktualizovat tabulku databáze wp_options. Následující řádky v tabulce je třeba aktualizovat:

šablona, šablona stylů, A aktuální_téma. Změňte hodnotu na dvacet jedenáct.

Pokud je problém s bílou obrazovkou vyřešen, musíte se podívat na soubor funkce.php vaše téma. Pokud na konci souboru najdete prázdné řádky, musíte je vymazat.

Jiné možnosti

Pokud nic z výše uvedeného nepomohlo, musíte zkusit přeinstalovat engine WordPress. Někdy to není úplně zřejmé, ale soubory jádra se mohou poškodit.
Můžete také použít funkci ladění ve WordPress, abyste viděli, jaké typy chyb se zobrazují na obrazovce. Přidejte následující kód do souboru wp-config.php.

Error_reporting(E_ALL); ini_set("zobrazit_chyby", 1); define("WP_DEBUG", true);

Jakmile to uděláte, na prázdné obrazovce se zobrazí chyby, varování a upozornění. To pomůže určit, odkud pocházejí nohy brouka :)

Někdy můžete mít přístup do oblasti pro správu, ale samotný web vypadá jako prázdné bílé plátno. To může být způsobeno pluginem pro ukládání do mezipaměti. Stačí vymazat mezipaměť.

Pokud se bílá obrazovka objeví na velmi dlouhých záznamech, měli byste také zkusit vymazat mezipaměť.
Můžete také zkusit následující: Buď přidejte následující kód do wp-config.php nebo v některých případech do souboru PHP.INI vašeho webového serveru.

/** Řešení pro velké příspěvky */ ini_set("pcre.recursion_limit",20000000); ini_set("pcre.backtrack_limit",10000000);

Je jasné, že všechny tyto chyby jsou velmi ošklivé, takže doufáme, že vám alespoň jedna z metod pomohla vyřešit problém, se kterým jste přišli na náš blog. Pokud máte jiná řešení, můžete se vyjádřit.

Ahoj všichni. V poslední době se objevilo mnoho dotazů od uživatelů ohledně bílé obrazovky smrti ve WordPressu. Už mě nebavilo všem odpovídat a rozhodl jsem se napsat krátký článek.

Hlavním cílem tohoto článku je ukázat vám, co musíte udělat, pokud máte bílou obrazovku, a také vám říci, jak ji snadno zapnout chybový výstup ve wordpressu.

Navigace na stránce:

Bílá obrazovka wordpress

Problém je, když uživatel vidí bílá obrazovka ve wordpressu místo vlastního webu není nový a byl mnohokrát diskutován. Hlavním důvodem jeho výskytu jsou kritické chyby v php, ale protože v 90% případů jsou chyby na webu zakázány, místo chyby vidíme bílou obrazovku.

Dalším důvodem bílé obrazovky mohou být pokřivené pluginy a motivy. Stačí například nevkládat opatrně následující kód

A zaručeně uvidíte bílou obrazovku WordPressu.

Bílá obrazovka WordPress v oblasti administrátora

Je špatné, když se klientská strana webu zhroutila, ale ještě horší je, když se zhroutíme my nebo nám pomohli zřítit oblast správy WordPress. V tomto případě nebude přístup k nastavení a editoru motivů možný.

V administrační oblasti WordPressu je velmi snadné vytvořit bílou obrazovku; můžete například upravit soubor functions.php tématu, udělat chybu v kódu (zapomenout uzavřít závorku nebo nainstalovat další) a uložit změny. Voila, chyba bílé obrazovky WordPress v panelu administrátora je zaručena. Mimochodem, taková dětská chyba se nedá vyléčit bez přístupu na stránky přes FTP nebo editor souborů z panelu hostingu :)

Co dělat, když je na webu WordPress bílá obrazovka?

Musíte povolit chyby a diagnostikovat problém.

Jak povolit výstup chyb wordpress

Postupujte podle pokynů krok za krokem kliknutím na čísla 1 2 3 v přepínači níže:

Jak se zbavit chyb WordPress

Předpokládejme, že jste povolili výstup chyb wordpress, vaše bílá obrazovka se stala obrazovkou s chybovým textem, co máme dělat dál?

Musíme se pokusit chybu odstranit!!!

Podíváme se na text chyby, bude udávat cestu k souboru, kde k chybě došlo, a řádek, například jsem ještě jednou uzavřel závorku ) v souboru functions.php, kvůli tomu dostávám následující chybu:

Chyba analýzy: chyba syntaxe, neočekávané ")" v /home/c/site/site.bget.ru/public_html/wp-content/themes/twentyfifteen/functions.php na řádku 2

Máme cestu k souboru, jdeme také na řádek a opravíme chybu.

To je samozřejmě nejjednodušší příklad, jsou mnohem horší situace. Například jste nainstalovali křivý plugin a zablokoval celý váš web spolu s panelem administrátora, co byste měli dělat, jak jej můžete zakázat?

Zcela jednoduše, z chyby se podíváme na název pluginu, řekněme „wp-plagin-bag-ru“ přejděte na FTP a přejděte do složky „wp-content“ -> „plugins“ a najděte tam název adresáře „wp-plagin-bag-ru“ “ a přejmenujte jej na cokoliv, například na „wp-plagin-bag-ru__“.

Pokud to byl škodlivý plugin, pak jsme ho zakázali a web by měl začít normálně fungovat.

Samozřejmě můžete uvádět příklady po velmi dlouhou dobu a přesto se najde ojedinělý případ, který jsem nepopsal. Pro takové případy máme na našem webu sekci Otázka/Odpověď, kam můžete napsat chybu, kterou váš web dává, a my se vám rádi pokusíme pomoci. Problém můžete také popsat v komentářích a my vám co nejrychleji odpovíme.

Někdy může proces instalace nového motivu WordPress skončit zcela neočekávaně: namísto jasného a atraktivního webu se vývojář potýká s prázdnou stránkou a často není možné přepnout na jiné téma, protože přístup k panelu správce je uzavřen. . Co dělat v tomto případě a jak se vyrovnat s problémy, které nastanou?

Nejprve musíte pochopit, co způsobilo tuto chybu a proč se téma WordPress nenačetlo správně. K tomu může dojít z následujících důvodů:

  • Soubory motivů obsahují chybu
  • Motiv přistupuje k funkcím nebo speciálním částem kódu, které se na vašem webu nenacházejí
  • Vybrané téma není kompatibilní s vaším serverem, verzí WordPress nebo PHP
  • Pluginy způsobují konflikt nebo obsahují chybu
  • Váš server není správně nakonfigurován

Pokud WordPress vrátí prázdnou stránku, znamená to, že během procesu instalace motivu došlo k chybě, kvůli které web přestal správně fungovat. Zobrazení prázdné stránky bylo provedeno proto, aby se návštěvníkům webu nezobrazovaly zprávy označující chybu. Tato technika se nazývá PHP Error Reporting; byl navržen tak, aby zabránil webovým stránkám zobrazovat chybové kódy. Místo toho kód nevrací absolutně nic, což má za následek zobrazení prázdné stránky. Navzdory tomu, že je tento přístup technicky správný, může zavést tvůrce stránek do slepé uličky.

Zobrazení chyb

První věc, kterou budete muset udělat, abyste opravili své téma WordPress, je pokusit se přečíst chybovou zprávu, která se vyskytla v souborech PHP, což vám umožní určit, v čem byl problém. Většina webů má toto nastavení ve výchozím nastavení zakázáno, aby návštěvníci nemohli vidět kód, ale pokud se váš web WordPress poškodí, budete muset zjistit, co to způsobilo.

Otevřete svého FTP klienta a najděte své soubory motivů (jsou umístěny ve složce /wp-content/themes/). Přidejte následující řádky na začátek souboru header.php:

Error_reporting(E_ALL); ini_set('display_errors',"On');

Nyní, pokud aktualizujete svůj web, zobrazí se chybová zpráva, ze které můžete určit, který soubor je na vašem webu WordPress poškozen.

Oprava souborů umístěných na serveru

Jakmile na svůj web přidáte kód pro zpracování chyb, budete moci zobrazit podrobnou zprávu o tom, jak byly poškozeny soubory motivu. Pokud je však chyba v konfiguraci serveru, stále se na obrazovce nic nezobrazí. Existují dva nejčastější důvody tohoto typu chyby. Oba důvody souvisí se soubory umístěnými v kořenovém adresáři webu.

První z těchto souborů, PHP.ini, vám umožňuje přepsat nastavení vašeho webu. Pomocí php.ini můžete zvětšit paměť nebo nastavit časové limity pro soubory. Úprava tohoto souboru vlastníky webových stránek může vést k neplánovaným chybám serveru. Udělejte si kopii tohoto souboru v počítači a odstraňte jej na serveru, abyste zjistili, zda se jedná o problém.

Htaccess je druhý soubor, jehož editace může také vést k selhání serveru. Stejně jako u php.ini vytvořte zálohu tohoto souboru a odstraňte nebo přejmenujte jej na serveru. Možná to pomůže vyřešit problém.

Obnovení výchozího motivu webu

Pokud váš web začne zobrazovat prázdnou stránku, první věc, kterou byste měli zkusit, je obnovit výchozí motiv WordPress pomocí FTP klienta. Po odstranění problematického motivu se WordPress vrátí k výchozímu motivu (Twenty Ten nebo jinému podobnému) a váš web bude znovu přístupný. Není nutné mazat celé téma. Místo toho můžete jednoduše přejmenovat složku motivu. Soubory motivů jsou umístěny v kořenovém adresáři /wp-content/themes/, kde je každý motiv uložen ve své vlastní jedinečné složce.

Jakmile přejmenujete nebo odstraníte problematický motiv, váš web by se měl vrátit k výchozímu motivu. Pokud se tak nestane, problém může být s pluginy, takže budete muset projít podobným procesem, abyste pluginy deaktivovali.

Deaktivace pluginů WordPress pro obnovení webu

Nyní, když jste si uvědomili, že problém není s tématem, ale s pluginy, je čas je začít deaktivovat a pokusit se obnovit funkčnost webu. Deaktivaci pluginů bez přístupu k nástrojům administračního panelu WordPress lze provést přes FTP, podobně jako jsme deaktivovali téma. Soubory zásuvných modulů jsou umístěny v kořenové složce /wp-content/plugins/ a mohou být uloženy buď v podsložkách, nebo jako samostatné soubory.

Pokud přibližně víte, který plugin je problematický, můžete s ním složku přejmenovat nebo smazat (doporučuji si nejprve vytvořit jejich lokální kopii, abyste mohli tyto pluginy obnovit, kdyby se něco stalo). Jakmile smažete nebo přejmenujete složku pluginu, zkuste znovu načíst svůj web. Nakonec byste měli najít viníka a zjistit, který plugin způsobil chybu.

Odstraňování problémů se základními problémy WordPress

Ve velmi vzácných případech může problém ležet mimo hranice vašeho motivu, pluginů a konfigurace serveru. V takové situaci je nejlepším řešením stáhnout si nejnovější aktuální verzi WordPressu z oficiálních stránek a přepsat soubory umístěné na serveru.

Takzvanou WordPress bílou obrazovku smrti zná mnoho uživatelů platformy – je to jedna z nejnepříjemnějších situací, která se vašemu webu může stát. Pokud při otevírání vašeho webu nebo přihlašování do jeho administrační oblasti uvidíte prázdnou bílou obrazovku, je to jasné znamení.


Nejčastěji se objevuje po aktualizaci WordPressu, instalaci nebo aktualizaci pluginů, aktivním motivu atd. Samozřejmě se můžete vrátit zpět nasazením zálohy, ale to není řešení problému. Existují čtyři hlavní způsoby, jak se vypořádat s bílou obrazovkou ve WordPressu.

  1. Kontrola zásuvných modulů;
  2. Zvýšení limitů paměti PHP;
  3. Změna aktivního tématu;
  4. Aktivace debuggeru.

Pozornost! Před jakoukoli akcí se ujistěte, že jste provedli úplnou zálohu webu a databáze.

1. Kontrola pluginů

Nesprávný nebo konfliktní plugin je nejčastější příčinou bílé obrazovky a nejjednodušším způsobem, jak problém vyřešit. Nejčastěji je důvodem některý z nainstalovaných pluginů, který je v konfliktu s jiným pluginem nebo aktivním tématem. Musíme zjistit, co tento plugin je a deaktivovat ho.

S konzolovým přístupem

Pokud máte přístup ke konzole pro správu webu, přejděte do sekce Pluginy a deaktivujte naposledy nainstalované pluginy. V 99 případech ze 100 se tím problém bílé obrazovky vyřeší a web můžete nadále používat jako obvykle. Pokud se ale problém nevyřeší, postupně deaktivujte každý jednotlivý plugin a současně sledujte výkon webu. Pokud deaktivace všech pluginů problém nevyřeší, nebojte se, přejděte ke kroku 2.

Žádný přístup ke konzole

Pokud nemáte přístup ke konzole pro správu webu, připojte se k ní přes FTP pomocí libovolného FTP klienta, přejděte do adresáře wp-content v kořenovém adresáři vašeho webu a přejmenujte složku plugins na jakýkoli jiný název. Po tomto postupu budou všechny pluginy na vašem webu deaktivovány. Zkontrolujte dostupnost webu ve svém prohlížeči. Pokud se web aktivuje, přejmenujte složku zpět na pluginy, přejděte do konzoly pro správu webu a znovu aktivujte pluginy, přičemž po aktivaci každého pluginu zkontrolujte funkčnost webu. Připomínám, že vaším úkolem je zjistit, který plugin konflikt způsobuje a zbavit se ho. Pokud se po deaktivaci všech pluginů problém nevyřeší, přejděte k dalšímu kroku.

2. Zvýšení limitů paměti PHP

Úprava wp-config.php

Opět budete potřebovat FTP klienta. Provedeme změny v konfiguračním souboru WordPressu. Dovolte mi připomenout, že se jmenuje wp-config.php a nachází se v kořenovém adresáři vašeho webu. Otevřete soubor wp-config.php v textovém editoru a přidejte tento řádek:

Define("WP_MEMORY_LIMIT", "64M");

64 MB je optimální množství paměti RAM potřebné pro provoz průměrného webu WordPress. Je třeba si uvědomit, že pokud je maximální dostupné množství paměti RAM na vašem serveru menší než toto číslo nebo pokud server provozuje několik energeticky náročných webů, měli byste zvážit změnu tarifu, nákup další paměti nebo instalaci mezipaměti na webu. . Také nenastavujte příliš velké množství paměti, může to způsobit další problémy. Pokud problém není vyřešen, pokračujte.

Úprava php.ini

Zpravidla k němu nemá přístup každý. Podobně se připojíme na stránky pomocí FTP klienta a hledáme soubor php.ini. Pokud to nenajdete, nezlobte se a přejděte k dalšímu bodu. Pokud ji najdete, otevřete ji a přidejte následující řádek:

Memory_limit = 64M;

Je třeba poznamenat, že pokud soubor nenajdete, zkuste jej vytvořit v kořenovém adresáři vašeho webu WordPress.

Editing.htaccess

Pokud ne každý má php.ini, pak všechny weby WordPress určitě mají .htaccess. Opět budete potřebovat FTP klienta, abyste se k němu dostali a přidali následující řádek:

Php_value memory_limit 64M

Tento řádek spouští stejné akce jako předchozí dva odstavce, konkrétně zvyšuje množství dostupné paměti RAM na 64 MB. Pokud náhle nenajdete soubor .htaccess v kořenovém adresáři svého webu, vytvořte jej a přidejte tento řádek.

3. Změna aktivního motivu

S konzolovým přístupem

Pokud máte přístup ke konzole pro správu webu, přejděte do sekce „Vzhled“ - „Motivy“ a aktivujte jedno z výchozích témat WordPress (například 2014 nebo 2013) a zkontrolujte výkon svého webu. Pokud bílá obrazovka zmizí, problém je v motivu a musíte použít debugger, abyste zjistili, co přesně to způsobuje.

Žádný přístup ke konzole

Pokud nemáte přístup ke konzoli pro správu webu, pak bude řešení trochu složitější. Nejprve se připojte ke svému webu pomocí FTP klienta a ujistěte se, že máte načtena výchozí témata. Dovolte mi připomenout, že témata ve WordPressu jsou uložena v adresáři wp-content/themes/. Poté se přihlaste do ovládacího panelu hostingu, najděte PhpMyAdmin, otevřete jej a přejděte do tabulky wp_options. Procházejte stránky možností, dokud nenajdete „šablonu“ a „šablonu stylů“. Jejich hodnoty musíte nahradit názvem adresáře motivu, který chcete aktivovat. Například „dvacet čtrnáct“ nebo „dvacet třináct“. V níže uvedeném příkladu můžete vidět, že téma „statfort“ je aktuálně aktivováno, klikněte na tužku a napište název jednoho z výchozích témat WordPress.

Obnovte svou domovskou stránku a doufejte v to nejlepší!

4. Aktivace debuggeru

Přihlaste se na stránky pomocí FTP klienta, otevřete již známý konfigurační soubor (wp-config.php) vašeho WordPressu a najděte v něm následující řádek:

Define("WP_DEBUG", false);

A nahradit false za true, čímž aktivujete režim ladění. Pokud takový řádek v konfiguračním souboru není, přidejte jej. Mělo by to vypadat takto:

Define("WP_DEBUG", true);

Poté otevřete svůj web, uvidíte všechny informace o ladění a můžete snadno určit, co přesně chybu způsobuje. Další informace o chybách najdete v kódu WordPress a referenci PHP.

Nyní víte, jak se vypořádat s bílou obrazovkou smrti WordPress.
Opravdu doufám, že vám tento článek pomohl, ale pokud ne, můžete vždy.