Błąd „Fatal error: Allowed memory size exhausted” oznacza, że skrypt PHP wykorzystał cały przydzielony limit pamięci. W WordPressie możesz zwiększyć go najczęściej przez edycję pliku wp-config.php, pliku .htaccess albo ustawień w panelu hostingu. Zacznij od wartości 128M lub 256M.
Dlaczego WordPress wyświetla błąd braku pamięci?
Parametr memory_limit określa maksymalną ilość pamięci RAM, z której może korzystać pojedynczy skrypt PHP. WordPress, motywy i wtyczki wykonują takie skrypty podczas ładowania strony, pracy edytora czy przetwarzania danych.
Gdy zapotrzebowanie przekroczy ustawiony limit, pojawia się komunikat podobny do Fatal error: Allowed memory size of ... bytes exhausted. Możesz wtedy zobaczyć biały ekran, niedziałający panel administracyjny, błędy w logach albo problemy z uruchomieniem edytora i wtyczek. Przyczyną bywa zbyt niski limit, ale także źle skonfigurowana lub nadmiernie obciążająca wtyczka.
Jaki limit pamięci PHP ustawić?
Ustaw możliwie najniższą wartość, przy której strona działa bez błędów. Zbyt wysoki limit może ukryć problem z wtyczką i pozwolić jej zużywać więcej zasobów serwera, niż rzeczywiście potrzebuje.
| Rodzaj witryny | Zalecany limit pamięci |
|---|---|
| Mała strona lub portfolio | 128M |
| Rozbudowany serwis lub sklep WooCommerce | 256M |
| Wymagająca konfiguracja | 512M |
512M traktuj jako górną, zwykle wystarczającą granicę dla typowej witryny WordPress. Wartość -1, oznaczająca brak limitu, nie jest dobrym ustawieniem do codziennej pracy. Może doprowadzić do przeciążenia konta hostingowego, jeśli problem powoduje wadliwa wtyczka.
Jak zwiększyć limit pamięci PHP w WordPress?
Przed zmianą plików pobierz ich kopię na komputer. Błędna składnia w wp-config.php lub .htaccess może spowodować błąd serwera albo uniemożliwić uruchomienie strony.
1. Edycja pliku wp-config.php
To najczęściej stosowana metoda dla WordPressa. Plik znajduje się w głównym katalogu instalacji, obok folderów wp-admin, wp-content i wp-includes.
- Połącz się z serwerem przez FTP, SFTP albo menedżer plików hostingu.
- Pobierz kopię pliku
wp-config.phpi otwórz oryginał w edytorze tekstu. - Dodaj poniższą linię przed komentarzem
That's all, stop editing! Happy publishing.:
define('WP_MEMORY_LIMIT', '256M');
- Zapisz plik i prześlij go z powrotem do głównego katalogu WordPressa.
- Sprawdź działanie strony oraz panelu administracyjnego.
Jeśli obecna wartość wynosi 128M, zacznij od 256M. Nie wpisuj -1 jako stałego rozwiązania.
2. Edycja pliku .htaccess
Ta metoda działa tylko na serwerach, które pozwalają ustawiać parametry PHP z poziomu pliku .htaccess. Jeśli hosting korzysta z innej konfiguracji, po zapisaniu zmiana może nie zadziałać albo serwer zwróci błąd 500.
- Pobierz kopię pliku
.htaccessz głównego katalogu WordPressa. - Otwórz plik w edytorze tekstu.
- Dodaj na końcu poniższą linię:
php_value memory_limit 256M
- Zapisz plik i prześlij go na serwer.
- Odśwież stronę oraz panel administracyjny.
Jeżeli po tej zmianie pojawi się błąd 500, przywróć kopię pliku i skorzystaj z ustawień hostingu albo skontaktuj się z jego administratorem.
3. Zmiana limitu w panelu hostingu
W wielu usługach hostingowych limit można ustawić bez ręcznej edycji plików. Nazwy sekcji zależą od dostawcy, ale zwykle znajdziesz je przy konfiguracji wersji PHP.
- Zaloguj się do panelu hostingu.
- Otwórz sekcję taką jak Wybór wersji PHP, MultiPHP albo ustawienia PHP.
- Wybierz domenę lub katalog, którego dotyczy zmiana.
- Znajdź parametr
memory_limiti ustaw 128M, 256M albo 512M. - Zapisz ustawienia i sprawdź działanie witryny.
W cPanel opcja może znajdować się w sekcji MultiPHP INI Editor lub w ustawieniach PHP. W DirectAdmin lokalizacja jest podobna, ale nazewnictwo zależy od konfiguracji hostingu. Jeśli panel nie pozwala zwiększyć limitu, dostępna wartość jest ograniczona przez dostawcę usługi.
Jak sprawdzić, czy limit został zwiększony?
Po zalogowaniu do WordPressa przejdź do Narzędzia → Stan witryny → Informacje. Rozwiń sekcję dotyczącą serwera lub stałych WordPressa i odszukaj wartość WP_MEMORY_LIMIT albo informacje o limicie pamięci PHP.
Weryfikację możesz przeprowadzić także w panelu hostingu. Nie każda zmiana w wp-config.php zwiększa globalny limit PHP ustawiony przez serwer, dlatego warto sprawdzić oba parametry po zapisaniu konfiguracji.
Jeśli 512M nie rozwiązuje problemu, zwiększanie limitu prawdopodobnie nie jest właściwą drogą. Wyłączaj wtyczki pojedynczo i obserwuj, kiedy błąd ustąpi. Szczególną uwagę zwróć na ostatnio zainstalowane lub aktualizowane dodatki. Sprawdź również:
- czy jedna z wtyczek nie jest źle skonfigurowana,
- czy używasz tylko potrzebnych rozszerzeń,
- czy motyw nie ładuje nadmiarowych funkcji,
- czy wtyczki i WordPress są zgodne z używaną wersją PHP.
Zwiększenie limitu pamięci może przywrócić działanie strony, ale często jest tylko rozwiązaniem doraźnym. Gdy problem powraca mimo wysokiego limitu, przyczynę należy szukać w konfiguracji lub kodzie konkretnej wtyczki.