Awarie

Limit pamięci PHP wyczerpany — jak go podnieść w WordPressie

„Allowed memory size exhausted” — strona chce więcej pamięci, niż serwer pozwala. Trzy miejsca, gdzie podnosi się limit, i kiedy to niczego nie naprawi.

Komunikat o wyczerpanej pamięci PHP

Fatal error: Allowed memory size of 134217728 bytes exhausted. Ta przerażająco wyglądająca liczba to po prostu limit w bajtach — 134217728 to 128 MB. Komunikat znaczy tyle: skrypt PHP chciał więcej pamięci, niż serwer mu pozwala, więc serwer go zabił w połowie roboty.

Czasem błąd widać wprost na stronie, czasem objawia się jako biały ekran albo błąd 500 — a właściwa treść komunikatu siedzi w logu błędów na serwerze.

Ile pamięci potrzebuje WordPress

Sam WordPress — niewiele. Limit zjadają wtyczki: kreatory stron, WooCommerce, wtyczki generujące PDF-y, importery, optymalizatory obrazków. Rozsądne wartości dziś:

  • 128 MB — minimum dla prostej strony,
  • 256 MB — norma dla strony z kreatorem typu Elementor,
  • 512 MB — sklep WooCommerce z większą liczbą wtyczek.

Więcej niż 512 MB to już nie „zapas”, tylko maskowanie problemu — o tym na końcu.

Gdzie podnieść limit

Po kolei, od najprostszego. Po każdej zmianie sprawdź efekt w Narzędzia → Kondycja witryny → Informacje → Serwer — tam WordPress pokazuje aktualny limit.

1. Panel hostingu. Większość polskich hostingów pozwala zmienić memory_limit z panelu, w ustawieniach PHP. To najlepsza droga: działa od razu i niczego nie nadpisze aktualizacja.

2. wp-config.php. Przez FTP dodaj przed linią /* That's all, stop editing! */:

define('WP_MEMORY_LIMIT', '256M');
define('WP_MAX_MEMORY_LIMIT', '512M');

Pierwsza wartość dotyczy zwykłego działania strony, druga — panelu administracyjnego i zadań w tle. Uwaga na pułapkę: te linie nie podniosą limitu ponad to, co ustawił hosting. Jeśli serwer ma twardy limit 128 MB, wpisanie 512M nic nie da.

3. php.ini albo .user.ini. Na hostingach współdzielonych czasem działa plik .user.ini w katalogu głównym z linią memory_limit = 256M. Czy zadziała — zależy od konfiguracji serwera, więc jeśli dwa pierwsze sposoby zawiodły, napisz do hostingu. Odpowiedź „nie da się więcej” na dzisiejszym hostingu to sygnał, że czas rozejrzeć się za innym.

Kiedy podnoszenie limitu to leczenie objawów

Limit pamięci to bezpiecznik. Jeśli strona, która latami działała na 128 MB, nagle potrzebuje 512, to nie strona „urosła” — to coś zaczęło marnować pamięć:

  • jedna wtyczka z wyciekiem pamięci — świeżo zainstalowana albo świeżo zaktualizowana. Jeśli błąd pojawił się po aktualizacji, cofnij ją i sprawdź,
  • pętla — na przykład wtyczka bezpieczeństwa skanująca w kółko ten sam katalog,
  • import albo migracja — jednorazowe zadania faktycznie potrzebują więcej; po imporcie limit można zmniejszyć z powrotem,
  • za dużo nakładających się wtyczek robiących to samo.

Praktyczny test: podnieś limit do 256 MB. Jeśli błąd wraca przy 256, a potem przy 512 — przestań podnosić i zacznij szukać, co zjada pamięć. Log błędów PHP pokaże, w którym pliku skrypt umierał; nazwa katalogu wtyczki w ścieżce to zwykle gotowa odpowiedź.

Ile to zajmuje

Zmiana limitu w panelu hostingu albo wp-config.php10 minut. Znalezienie wtyczki, która zjada pamięć — od pół godziny do dwóch godzin, bo trzeba czytać logi i testować wykluczanie. Warto zlecić, gdy błąd pojawia się losowo, gdy hosting odmawia podniesienia limitu albo gdy padł sklep i każdy kwadrans przestoju kosztuje.


Strona umiera z braku pamięci, a Ty nie wiesz dlaczego? Znajdziemy, co ją zjada — bezpłatna diagnoza, reakcja w ciągu dwóch godzin, od 120 zł netto za godzinę, płatność po wykonaniu.

  • limit pamięci
  • php
  • wp-config
  • hosting

Masz taką sytuację u siebie?

Diagnoza i wstępna wycena bezpłatne. Płacisz dopiero po wykonaniu — napisz albo zadzwoń, odpowiadamy do 2 godzin.