Jak vyřešit chybu: Fatal error - Allowed memory size exhausted v PHP

Obsah
Pokud při provozu svého webu nebo aplikace narazíte na chybu "Fatal error: Allowed memory size of X bytes exhausted", znamená to, že váš PHP skript překročil limit přidělené paměti. Tato chyba je častá zejména u složitějších skriptů, importu dat, práce s velkými soubory nebo při neoptimalizovaném kódu.
Co tato chyba znamená?
Chyba říká, že PHP nemůže pokračovat ve vykonávání skriptu, protože překročil povolenou paměť. Například:
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 53248 bytes)
134217728 bajtů = 128 MB. To je výchozí limit v některých PHP konfiguracích.
Jak tuto chybu vyřešit?
1) Zvýšení paměťového limitu v php.ini
Najděte soubor php.ini
a změňte řádek:
memory_limit = 256M
Následně restartujte server:
sudo service apache2 restart
2) Nastavení přímo ve skriptu
Pokud nemáte přístup k php.ini
, můžete přidat tento řádek do PHP kódu:
<?php
ini_set('memory_limit', '256M');
?>
3) Nastavení v .htaccess (na Apache hostinzích)
Přidejte do souboru .htaccess
:
php_value memory_limit 256M
4) U WordPress webů – úprava wp-config.php
U WordPress webu lze paměť navýšit v souboru wp-config.php
:
define('WP_MEMORY_LIMIT', '256M');
define('WP_MAX_MEMORY_LIMIT', '512M');
Tip: Optimalizujte kód
I když navýšíte limit paměti, je důležité přemýšlet, proč k problému dochází. Zaměřte se na:
- Optimalizaci databázových dotazů
- Práci s velkými daty nebo soubory
- Odstraňování nepoužívaných proměnných pomocí
unset()
- Průběžné uvolňování paměti – například pomocí
gc_collect_cycles()
Závěr
Chyba Allowed memory size exhausted je běžná a snadno řešitelná. Nejjednodušší cestou je navýšit paměťový limit, ale myslete také na optimalizaci kódu, aby nedocházelo ke zbytečnému přetěžování serveru.
Pokud spravujete WordPress nebo jiný robustní systém, doporučujeme mít paměťový limit minimálně 256 MB, ideálně 512 MB.
Poslední aktualizace článku proběhla 19.3.2025.
OBJEDNAT SEO OPTIMALIZACI