Komunikat „Allowed memory size of … bytes exhausted” oznacza, że skrypt PHP przekroczył przydzielony limit pamięci. W WordPressie podnosi się go w dwóch miejscach naraz: stałą WP_MEMORY_LIMIT w wp-config.php oraz wartością memory_limit w ustawieniach PHP hostingu - obowiązuje niższa z nich. Rozsądny cel dla typowej strony to 256 MB.
Krok 1: podnieś limit WordPressa
W pliku wp-config.php (edycja przez FTP lub menedżer plików - jak się połączyć, w przewodniku o FTP i SFTP) dodaj przed linią „That’s all, stop editing”:
define( 'WP_MEMORY_LIMIT', '256M' );
define( 'WP_MAX_MEMORY_LIMIT', '512M' );
Pierwsza stała dotyczy frontu strony, druga - zaplecza (panel administracyjny potrzebuje więcej, np. przy edytorze blokowym czy imporcie). Domyślne wartości WordPressa są niskie (40 MB dla frontu pojedynczej instalacji), więc niemal każda współczesna strona z kreatorem i WooCommerce je przerasta.
Krok 2: podnieś limit PHP na hostingu
Stała z wp-config nie przeskoczy limitu serwera. W panelu hostingu (DirectAdmin, cPanel) znajdź „Ustawienia PHP” / „PHP Options” i ustaw memory_limit na 256M lub więcej. Na dobrym hostingu współdzielonym zrobisz to samodzielnie, bez ticketu - to jedna z rzeczy, które warto sprawdzić przed zakupem, obok progów opisanych w tekście o limicie inodów. Jeżeli panel nie pozwala przekroczyć np. 128M, ogranicza Cię pakiet - czas na wyższy plan albo innego dostawcę.
Weryfikacja: w panelu WordPressa wejdź w Narzędzia - Zdrowie witryny - Informacje - Serwer; pozycja „Limit pamięci PHP” pokazuje realnie obowiązującą wartość.
Ile pamięci naprawdę potrzeba
| Strona | Rozsądny limit |
|---|---|
| Blog, prosta strona firmowa | 128-256 MB |
| Strona na kreatorze (Elementor, Divi) | 256 MB |
| WooCommerce | 256-512 MB |
| Sklep z dużym importem produktów | 512 MB (choćby dla zaplecza) |
Wymagania kreatorów i sklepu omawiamy szerzej w tekstach o hostingu pod Elementora i hostingu pod WooCommerce.
Gdy podniesienie limitu nie pomaga
Limit 512 MB wciąż przekraczany to już nie „za mały limit”, lecz wyciek pamięci - zwykle jedna wadliwa wtyczka. Znajdź ją klasycznie: włącz zapis błędów (WP_DEBUG_LOG), sprawdź, który plik występuje w komunikacie, wyłączaj podejrzanych pojedynczo. Objawy pokrewne (biały ekran, błąd krytyczny) i pełną procedurę diagnozy opisują teksty o białym ekranie i błędzie 500.
Najczęstsze pytania
Czy wysoki limit pamięci spowalnia stronę?
Nie - limit to sufit, nie rezerwacja. Skrypt zużywa tyle, ile potrzebuje; wyższy limit tylko zapobiega ucinaniu operacji. Nie ma powodu trzymać go sztucznie nisko na własnej stronie.
Błąd pamięci pojawia się tylko przy imporcie/aktualizacji - czemu?
To operacje zaplecza - podnieś WP_MAX_MEMORY_LIMIT i memory_limit; import dużych plików może dodatkowo wymagać zwiększenia upload_max_filesize i max_execution_time w tych samych ustawieniach PHP.
Hosting obiecuje „512 MB RAM” - czy to to samo?
Nie. RAM konta to łączna pamięć wszystkich procesów PHP naraz, memory_limit - pojedynczego skryptu. Przy 512 MB RAM konta i limicie 256M dwa równoczesne ciężkie żądania wyczerpią całość. Na to zwracaj uwagę w cennikach - parametry kont tłumaczymy w tekście ile GB hostingu potrzebuje strona.
Podsumowanie
Dwa miejsca, jedna zasada: WP_MEMORY_LIMIT w wp-config.php i memory_limit w panelu hostingu, oba na 256M (sklepy: 512M dla zaplecza). Jeśli i to nie wystarcza - szukaj wycieku we wtyczkach, a nie kolejnych megabajtów. Hosting, który nie pozwala samodzielnie zarządzać ustawieniami PHP, będzie wracał w każdej takiej awarii.