Błąd „Fatal error: Allowed memory size exhausted” oznacza, że WordPress lub jedna z jego wtyczek przekroczyła dostępny limit pamięci PHP. Najszybciej zwiększysz go w pliku wp-config.php, dodając define('WP_MEMORY_LIMIT', '256M');. Jeśli zmiana nie zadziała, ograniczenie może znajdować się na poziomie serwera.
Jak rozpoznać błąd wyczerpania pamięci?
Problem często objawia się białym ekranem, niedostępną stroną albo błędem podczas importu, aktualizacji lub zapisywania zmian w panelu WordPress. Na ekranie może pojawić się między innymi taki komunikat:
Fatal error: Allowed memory size exhaustedFatal error: Out of memory- informacja o próbie przydzielenia większej ilości pamięci dla skryptu PHP
- problem występujący po uruchomieniu ciężkiej wtyczki, motywu albo importu danych
Przyczyną bywa zbyt niski limit, ale także źle zoptymalizowana wtyczka lub motyw. Samo zwiększenie pamięci może więc przywrócić działanie witryny, lecz nie zawsze usuwa źródło problemu.
Jak sprawdzić obecny limit pamięci?
Zaloguj się do kokpitu WordPressa i przejdź do Narzędzia → Stan witryny → Informacje. W sekcji dotyczącej serwera znajdziesz między innymi wartość limitu pamięci PHP.
Sprawdź przede wszystkim parametr PHP memory limit. Jest to limit serwerowy, który określa maksymalną ilość pamięci dostępną dla skryptów PHP. WordPress korzysta także z własnej stałej WP_MEMORY_LIMIT, ale jej wartość nie może skutecznie przekroczyć ograniczeń narzuconych przez PHP i hosting.
Jak zwiększyć WordPress memory limit?
Najpierw wykonaj kopię zapasową pliku wp-config.php. Błędna edycja tego pliku może spowodować niedostępność witryny. Kopię możesz pobrać przez FTP, menedżer plików hostingu albo wykonać ją przed zmianą w panelu hostingowym.
Metoda 1 – edycja pliku wp-config.php
- Połącz się z serwerem przez FTP lub otwórz menedżer plików w panelu hostingu.
- Przejdź do głównego katalogu instalacji WordPressa i znajdź plik
wp-config.php. - Otwórz plik i dodaj poniższą linię przed komentarzem
That's all, stop editing!:
define('WP_MEMORY_LIMIT', '256M');
- Zapisz plik i prześlij go z powrotem na serwer, jeśli korzystasz z FTP.
- Wróć do sekcji Narzędzia → Stan witryny → Informacje i sprawdź, czy wartość się zmieniła.
Jeśli w pliku znajduje się już deklaracja WP_MEMORY_LIMIT, zmień jej wartość zamiast dodawać drugą. Nie edytuj innych fragmentów konfiguracji.
Metoda 2 – plik .htaccess
Ta metoda działa tylko na serwerach, które pozwalają ustawiać parametry PHP w pliku .htaccess. Przed zmianą także wykonaj kopię pliku, ponieważ błędna dyrektywa może wywołać błąd serwera.
- Otwórz plik
.htaccessw głównym katalogu strony, często wpublic_html. - Dodaj na końcu pliku dyrektywę:
php_value memory_limit 256M
- Zapisz zmiany i sprawdź stronę oraz limit w stanie witryny.
Jeśli po zapisaniu pojawi się błąd serwera, usuń dodaną linię i skontaktuj się z hostingiem. Nie każdy typ konfiguracji PHP obsługuje php_value w .htaccess.
Metoda 3 – plik php.ini lub panel hostingu
Jeśli masz dostęp do lokalnego pliku php.ini, dodaj albo zmień w nim wpis:
memory_limit = 256M
Na wielu serwerach łatwiej zrobić to w panelu hostingowym. W cPanel szukaj sekcji Select PHP Version, PHP Options albo PHP Settings, a następnie parametru memory_limit. Nazwy mogą różnić się zależnie od hostingu.
| Metoda | Miejsce edycji | Zastosowanie |
|---|---|---|
wp-config.php |
Pliki WordPressa | Najprostsza zmiana limitu używanego przez WordPress |
.htaccess |
Główny katalog strony | Zmiana parametru PHP, jeśli serwer obsługuje tę dyrektywę |
php.ini |
Konfiguracja PHP | Zmiana limitu na poziomie konfiguracji PHP |
| Panel hostingu | Ustawienia PHP | Najwygodniejsza metoda przy hostingu współdzielonym |
Jaki limit pamięci PHP ustawić?
Najczęściej zacznij od 128 MB. Jeżeli strona korzysta z rozbudowanego edytora, sklepu, importów lub ciężkich wtyczek, zwiększ limit do 256 MB. Wartość 512 MB traktuj jako górną granicę dla typowej instalacji WordPressa, a nie ustawienie domyślne.
Nie ustawiaj bardzo wysokiej wartości bez powodu. Duży limit nie naprawi błędnego kodu ani wtyczki, która zużywa pamięć w niekontrolowany sposób. Po przywróceniu strony sprawdź ostatnio instalowane dodatki i w razie potrzeby wyłącz je pojedynczo.
Co zrobić, jeśli zmiana nie działa?
Jeśli w Stanie witryny nadal widzisz starą wartość, serwer prawdopodobnie narzuca własny limit PHP. Parametr WP_MEMORY_LIMIT nie może go ominąć. W takiej sytuacji sprawdź ustawienie w panelu hostingu albo zgłoś problem administratorowi.
Dostawca może zwiększyć memory_limit, zmienić wersję PHP lub poinformować, że obecny pakiet ma stałe ograniczenie. Jeżeli limit jest już wystarczający, przyczyny szukaj w konkretnej wtyczce, motywie albo operacji generującej błąd.
W większości przypadków ustawienie 128–256 MB i sprawdzenie konfiguracji serwera wystarcza, aby usunąć błąd pamięci. Jeżeli problem wraca mimo zwiększenia limitu, potrzebna będzie optymalizacja dodatku lub pomoc hostingu.