Může se Vám stát, že z Vám neznámého důvodu WordPress nahlásí
„Fatal error: Out of memory (allocated 63700992) (tried to allocate 4407065 bytes) in /www/wp-includes/wp-db.php on line 774“
nebo nějakou podobnou hlášku. Nedávno se mě tohle stalo tak jsem hledal řešení jak na Google tak i na http://wordpress.org/support/ kde je lze najít podobné žádosti nebo požádat o pomoc. Pro někoho může být překážkou Googlování a fóra na WordPressu to, že je vše v angličtině. Ještě se taky můžete podívat na Webtrh.cz kde je česká komunita.
1. Zálohujte
Pro jistotu zálohujte WordPress data i databázi na Váš lokální PC
2. Vypněte všechny pluginy
Pokud se nedostanete ani do admin rozhraní WordPressu, tak se přihlaste přes FTP přístup a pluginy jednoduše smažte (wp-content/plugins) nebo adresář plugin přejmenujte. Předpokládám, že jste si pluginy zálohovali, viz krok 1. Zkuste se podívat, co to dělá nyní. Tímto krokem zjistíte, jestli je chybka někde v pluginu. Pokud se vše rozběhlo, nahrajte a aktivujte pluginy po jednom zpět a postupně zjistíte jaký plugin tu chybu udělal.
3. Změňte šablonu stránek
Chyba může být i v šabloně stránek, zvláště jestli šablona obsahuje function.php což je soubor kde mohou být vložené kódy s pluginy. Aktivujte tedy základní šablonu WordPressu, a podívejte se, jestli je vše v pohodě.
4. Reinstalujte WordPress
Tenhle tip pochází z fóra na WordPressu a počítá s tím, že některé pluginy mají problém s aktualizací na nové verze. Deaktivujte všechny pluginy, reinstalujte automaticky WordPress a aktivujte znovu potřebné pluginy.
5. Navyšte paměť
Pak je tu možnost, že máte málo paměti pro WordPress například 32 MB. V tom případě se pokuste navýšit paměť pro Váš hosting.
define('WP_MEMORY_LIMIT', '128M'); do souboru wp-config.php nedávejte ho na konec. Dejte ho před řádku /* That’s all, stop editing! Happy blogging. */Jak si ale zkontrolovat, kolik mám přidělenou paměť (memory_limit)? K tomu jsem našel jednoduchý plugin „WP-Memory-Usage“ který Vám na nástěnce v admin menu zobrazí aktuální využití paměti a kolik máte nastaveno.
6. Logy z hostingu
Pokud se vyznáte, zkuste se podívat do logů jako první věc. Kvalitní hosting Vám zřídí adresář, kam Vám bude ukládat logy. Já mám k dispozici logy za dva poslední dny v samostatném adresáři na hostingu.
7. WordPress debug mode
Tohle je celkem zajímavá věc, primárně zřejmě určena vývojářům a pokročilým uživatelům. Nejdříve to chce zřídit soubor debug.log v adresáři wp-config a nastavte práva 666. Poté vložte do souboru wp-config.php tento odstavec:
/**
* This will log all errors notices and warnings to a file called debug.log in
* wp-content (if Apache does not have write permission, you may need to create
* the file first and set the appropriate permissions (i.e. use 666) )
*/
define(‘WP_DEBUG’, true);
define(‘WP_DEBUG_LOG’, true);
define(‘WP_DEBUG_DISPLAY’, false);
@ini_set(‘display_errors’,0);
(Zdroj: http://codex.wordpress.org/Editing_wp-config.php)
Opět platí, vložte to před řádek /* That’s all, stop editing! Happy blogging. */. Na této variantě je fajn, že pro vypnutí stačí přepsat červeně označené true na false. Pak už stačí nakouknout do souboru debug.log a podívat se na chyby, které Vám to píše. Také je možné že se Vám objeví chybové hlášky na webu přímo i když je nastaveno, aby se nezobrazovali. Mně se takhle zobrazí chybné požadavky na databázi.
Toto Vám pomůže zjistit chybu a začít na tom pracovat. Na závěr Vám radím, zálohujte databázi a jednou za čas i data lokálně na svůj záložní disk nebo DVD. Nespoléhejte na zálohy hostingu.
Pingback: Jak řešit Fatal error: Out of memory – Bigdrobek
milans Říj 30 2011 - 14.40
V tomto druhom bode je úplne zbytočné mazať celý adresár, pre deaktiváciu všetkých modulov stačí adresár akokoľvek premenovať a všetky moduly sa tým pádom vypnú…
bigdrobek Říj 31 2011 - 6.57
Díky za tip, doplním to.