Przejdź do treści
WordPress i Strony WWW

PHP memory limit w WordPress - jak zwiększyć i jakie wartości ustawić (2026)

Publikacja: Aktualizacja:
Czytaj poradnik
Jasna ilustracja pracy nad stroną WordPress

Krótka odpowiedź

Potwierdź Allowed memory size exhausted w prywatnym logu. Sprawdź kontekst i efektywny limit PHP, zabezpiecz konfigurację, a następnie zmień właściwe ustawienie w granicach hostingu.

Powtórz tę samą czynność na kopii i sprawdź wynik. Nie ustawiaj dowolnie 512M ani nie ponawiaj częściowo wykonanego importu bez kontroli danych.

Błąd pamięci w WordPressie warto zacząć od konkretnego zadania i wpisu w logu. Ten poradnik wyjaśnia, jak odczytać efektywny limit, odróżnić ustawienia PHP od stałych WordPressa i sprawdzić zmianę bez ujawniania konfiguracji strony.

W tym poradniku

Najpierw potwierdź, że chodzi o limit pamięci PHP

Komunikat Allowed memory size exhausted oznacza, że wykonujący się skrypt próbował przekroczyć dopuszczalną ilość pamięci. Zanotuj czynność, adres i czas błędu. Inaczej diagnozuje się otwarcie edytora, inaczej przetwarzanie zdjęcia, a jeszcze inaczej import produktów. Odczytaj odpowiadający temu zdarzeniu wpis w prywatnym logu PHP dostępnym przez hosting.

Nie każdy biały ekran lub przerwany import wynika z memory_limit. Proces może zostać zakończony przez ograniczenia konta, błąd kodu albo brak pamięci całego serwera. Jeżeli log pokazuje inny fatal, podnoszenie limitu nie rozwiąże jego przyczyny. Przy ogólnym komunikacie zacznij od diagnozy błędu 500.

Po przerwanym imporcie sprawdź, czy część rekordów została już zapisana. Ponowienie całego zadania bez tej wiedzy może utworzyć duplikaty. Zachowaj komunikat i wynik procesu, zanim uruchomisz go ponownie. Sam błąd pamięci nie rozstrzyga, które wcześniejsze operacje zakończyły się poprawnie.

Opisz, co użytkownik ma móc zrobić, i podaj adres obecnej strony, jeśli już działa. Możesz dołączyć przykład. Dobierzemy zakres prac do istniejącej witryny, a nową stronę z dedykowanym projektem przygotujemy od 3 500 zł netto. Omów zmianę w WordPressie

Co oznaczają memory_limit i stałe WordPressa

PHP memory_limit ogranicza pamięć dostępną dla wykonania skryptu. Nie jest ilością RAM zarezerwowaną stale dla witryny ani sumą pamięci wszystkich pracujących procesów. Ustawienie 512M nie sprawia więc, że strona od razu zajmie 512 MB. Przy wielu równoległych zadaniach trzeba jednak uwzględnić ich łączne zapotrzebowanie.

WordPress korzysta dodatkowo z WP_MEMORY_LIMIT oraz WP_MAX_MEMORY_LIMIT. Pierwsza stała uczestniczy w ustaleniu limitu podczas uruchamiania aplikacji. Druga jest używana przy próbach podniesienia go dla bardziej wymagających czynności, zależnie od kontekstu. Nie tworzą dwóch osobnych pul pamięci.

W kodzie wp_initial_constants domyślne WP_MEMORY_LIMIT wynosi 40M dla pojedynczej witryny i 64M dla multisite, gdy konfiguracja pozwala zmieniać ustawienie. To wartości domyślne mechanizmu, a nie zalecany budżet współczesnego sklepu. WP_MAX_MEMORY_LIMIT uwzględnia 256M lub wyższą istniejącą wartość, zgodnie z warunkami funkcji.

Niższe WP_MEMORY_LIMIT nie obniża automatycznie wyższego limitu PHP. Dokumentacja wp_raise_memory_limit ujmuje zasadę tak: "Only allows raising the existing limit and prevents lowering it." Jeżeli PHP działa już z 512M, wpisanie 64M w WordPressie nie oznacza ograniczenia tego wykonania do 64M.

Jak sprawdzić ustawienia bez publicznego phpinfo

W panelu otwórz Narzędzia > Stan witryny > Informacja. Rozwiń dane serwera i WordPressa, odszukaj wersję PHP oraz informacje o limitach pamięci. Nazwy pól mogą zależeć od wersji i tłumaczenia. Zapisz wartości potrzebne do diagnozy, zamiast publikować cały raport konfiguracji.

Odczyt wykonany w panelu dotyczy jego kontekstu. Żądanie strony publicznej, obróbka obrazu i polecenie CLI mogą korzystać z innych ustawień lub prób podnoszenia limitu. Gdy problem występuje tylko w konkretnym zadaniu, poproś administratora o sprawdzenie wartości właśnie podczas jego wykonania. Wynik php --ini z terminala nie dowodzi, którego pliku używa PHP obsługujące stronę.

Nie twórz publicznego pliku info.php z phpinfo. Nie jest potrzebny do pierwszego rozpoznania problemu i może ujawnić konfigurację środowiska. Prywatny log hostingu oraz Stan witryny zwykle pozwalają ustalić, jakie dodatkowe dane trzeba zebrać.

Wybierz właściwe miejsce zmiany

Najpierw sprawdź w panelu lub dokumentacji swojego hostingu, gdzie zmienia się parametry PHP dla tej konkretnej domeny. Zapisz poprzednie ustawienie i zabezpiecz plik konfiguracyjny. Nie edytuj równocześnie kilku miejsc, bo później trudno ustalić, które z nich wpływa na wynik.

Jeżeli zmiana dotyczy stałej WordPressa, popraw istniejącą definicję w wp-config.php, przed uruchomieniem WordPressa. Nie dopisuj drugiej definicji tej samej stałej. Wybór wartości uzgodnij z rzeczywistym limitem hostingu i potrzebą zadania. Uszkodzona składnia tego pliku może unieruchomić witrynę, dlatego test na kopii i możliwość cofnięcia zmiany są istotne.

Przykład składni: jeśli hosting dopuszcza 256 MB, a diagnoza uzasadnia taki limit, istniejący wpis może mieć postać `define('WP_MEMORY_LIMIT', '256M');`. Umieść go przed uruchomieniem WordPressa, bez duplikowania stałej. To przykład warunkowy, a nie wartość dla każdej strony. Przy wyższym efektywnym limicie PHP ta stała nie obniży go do 256 MB.

Mechanizm .user.ini dotyczy CGI/FastCGI. Według dokumentacji PHP domyślny czas ponownego odczytu wynosi 300 sekund, ale operator może zmienić go lub wyłączyć obsługę tych plików. Brak natychmiastowego efektu nie oznacza więc automatycznie błędnej wartości.

Dyrektywy PHP w .htaccess zależą od sposobu uruchamiania PHP i ustawień serwera. Samo słowo Apache lub LiteSpeed w ofercie nie wystarczy do wyboru instrukcji. Nie zmieniaj przy okazji limitu uploadu, wielkości POST i czasu wykonania, jeśli diagnozowany błąd ich nie dotyczy.

Dlaczego hosting może odrzucić zmianę

W referencji ustawień PHP memory_limit ma tryb INI_ALL. Nie znaczy to jednak, że użytkownik każdej usługi może dowolnie zwiększyć limit. Znaczenie ma konfiguracja administratora, właściwy plik, handler PHP oraz ograniczenia całego konta.

Od PHP 8.5 dostępne jest dodatkowe ustawienie max_memory_limit, określające górną granicę konfigurowanego memory_limit. Jest ustawiane przy uruchamianiu, więc nie należy traktować go jak kolejnej stałej do dopisania w WordPressie. Ta możliwość nie dotyczy starszych wersji PHP.

Jeśli zadana wartość i efektywny limit nadal się różnią, przekaż hostingowi domenę, kontekst błędu i odczytane ustawienia. Nie ustawiaj wartości -1 jako sposobu obejścia problemu. Brak limitu pojedynczego skryptu nie zapewnia nieograniczonego RAM i może utrudnić ochronę pozostałych procesów.

Zmiana pakietu ma sens po potwierdzeniu ograniczenia oraz potrzeb aplikacji. Sama liczba produktów lub rozmiar bazy nie przesądza o konieczności VPS. Kryteria infrastruktury omawiamy w poradniku wyboru hostingu WordPress.

Jak dobrać wartość i znaleźć kosztowną operację

Nie istnieje jedna liczba odpowiednia dla każdego bloga, edytora i sklepu. Zacznij od pomiaru zadania, które faktycznie zawodzi. Na zabezpieczonej kopii odtwórz podobny zestaw danych, rozmiar obrazów i ustawienia procesu. Mały test nie musi pokazać problemu występującego dopiero przy większej partii.

Query Monitor pomaga rozpoznać zapytania i komponenty, ale nie daje gotowego rankingu pamięci wszystkich wtyczek. Jego dokumentacja profilowania opisuje pomiar odcinka kodu przez odpowiednie znaczniki. Wyniki pamięci są przybliżone. Wskazanie nazwy komponentu w zestawieniu SQL nie jest pomiarem całego RAM zużytego przez tę wtyczkę.

Developer może sprawdzić, czy proces wczytuje cały zbiór naraz, zapętla wywołania lub tworzy wiele dużych obiektów. Przetwarzanie mniejszych partii pomaga tylko wtedy, gdy zadanie prawidłowo zapisuje postęp i bezpiecznie wznawia pracę. Nie rozwiązuj tego przez usunięcie losowych rozszerzeń z działającego sklepu.

Gdy problemem jest czas odpowiedzi, a nie fatal pamięci, przejdź do diagnozy wolnego WordPressa. Zwiększenie memory_limit samo w sobie nie przyspiesza każdej operacji.

Sprawdź efekt i zdecyduj o dalszej pomocy

Po zmianie ponów tę samą czynność na kopii i sprawdź zarówno log, jak i wynik. Przy imporcie porównaj liczbę przetworzonych rekordów z wejściem oraz upewnij się, że nie powstały duplikaty. Przy zdjęciu sprawdź utworzenie potrzebnych wariantów, a przy edytorze zapis i ponowne otwarcie materiału.

Zniknięcie komunikatu po podniesieniu limitu jest informacją o teście, nie dowodem trwałego usunięcia przyczyny. Zachowaj ustawienie wyjściowe, wynik pomiaru i zakres sprawdzonych danych. Gdy zużycie rośnie bez wyjaśnienia albo proces wciąż się przerywa, potrzebna jest analiza kodu lub zasobów serwera.

Możesz zgłosić problem przez kontakt. Wystarczy adres strony i opis czynności, która zawodzi; czas, komunikat i informacja o kopii są pomocne, ale opcjonalne. Naprawa WordPressa obejmuje ustalenie przyczyny awarii. Jeśli potrzebujesz później regularnych aktualizacji i kontroli, sprawdź opiekę nad WordPressem.

Najczęściej zadawane pytania

Jak sprawdzić limit pamięci bez phpinfo?
Otwórz Narzędzia > Stan witryny > Informacja i sprawdź dane serwera oraz WordPressa. Zapisz wersję PHP i widoczne limity. Jeżeli awaria dotyczy importu lub innego zadania, potrzebny może być odczyt jego konkretnego kontekstu przez administratora. Nie publikuj całego raportu ani pliku phpinfo. W pierwszym zgłoszeniu wystarczy adres strony oraz opis problemu.
Czym różnią się WP_MEMORY_LIMIT i WP_MAX_MEMORY_LIMIT?
WP_MEMORY_LIMIT uczestniczy w ustalaniu limitu podczas startu WordPressa, a WP_MAX_MEMORY_LIMIT przy próbach jego podnoszenia dla określonych czynności. Nie są oddzielnymi pulami RAM. Obie wartości działają w ramach możliwości konfiguracji PHP. Efektywny limit warto sprawdzić w tym samym kontekście, w którym występuje błąd, zamiast wnioskować wyłącznie z zawartości pliku konfiguracyjnego lub panelu.
Czy 512 MB zawsze wystarczy dla WooCommerce?
Nie. Zapotrzebowanie zależy od wykonywanej operacji, kodu rozszerzeń, danych i sposobu ich przetwarzania. Sama liczba produktów nie wyznacza właściwego limitu. Najpierw potwierdź błąd pamięci i odtwórz go na zabezpieczonej kopii. Następnie zmierz zadanie i sprawdź dopuszczalne ustawienia hostingu. Czasem potrzebna jest zmiana wielkości partii lub poprawka kodu, a nie większy limit PHP.
Dlaczego zmiana w wp-config.php nie działa?
Możliwe, że edytujesz niewłaściwą instalację, stała została już zdefiniowana albo konfiguracja PHP nie pozwala na oczekiwane zwiększenie. Znaczenie ma też kontekst wykonania zadania. Sprawdź efektywny limit i dane hostingu, nie dopisuj kolejnych definicji na próbę. Przed następną zmianą zabezpiecz plik oraz możliwość przywrócenia poprzedniej konfiguracji. Nie udostępniaj jego pełnej zawartości w zgłoszeniu.
Czy WP_MEMORY_LIMIT równe 64M obniży istniejące 512M?
Samo ustawienie tej stałej na 64M nie obniża istniejącego wyższego limitu PHP do tej wartości. Mechanizm WordPressa próbuje podnosić limit zgodnie z warunkami konfiguracji. Dlatego odczyt dwóch różnych liczb nie musi oznaczać błędu. Przy diagnozie sprawdź rzeczywistą wartość podczas wykonania problematycznej czynności, a nie tylko deklarację stałej zapisaną w pliku wp-config.php.
Dlaczego panel i CLI pokazują różną pamięć?
PHP uruchomione z terminala może korzystać z innego pliku konfiguracji i ustawień niż proces obsługujący witrynę. WordPress może też próbować podnosić limit w zależności od kontekstu. Wynik polecenia CLI nie potwierdza zatem parametrów żądania przeglądarki. Porównuj tę samą operację i poproś administratora o ustalenie konfiguracji właściwego procesu, zanim zmienisz kolejne wartości.
Co zrobić po przerwanym imporcie produktów?
Najpierw sprawdź zapisany postęp oraz rekordy, które pojawiły się w sklepie. Nie uruchamiaj całego importu ponownie bez ustalenia, czy narzędzie rozpoznaje istniejące dane. Zabezpiecz bieżący stan i komunikat błędu. Test poprawki wykonaj na kopii z reprezentatywnym zestawem danych. Potwierdź zakończenie procesu, kompletność wyniku i brak duplikatów, zanim zastosujesz zmianę w działającym sklepie.
Kiedy zgłosić problem hostingowi, a kiedy developerowi?
Hosting pomoże ustalić efektywny limit, sposób konfiguracji PHP i ograniczenia konta. Developer jest potrzebny, gdy konkretna operacja zużywa nadmierną pamięć lub nieprawidłowo przetwarza dane mimo dostępnych zasobów. Nie musisz rozstrzygać tego samodzielnie. Zacznij od adresu strony i objawu; komunikat, czas oraz ostatnia zmiana ułatwią skierowanie diagnozy do właściwej osoby bez przesyłania sekretów.

Przypisy i źródła

Źródła zawierają linki do zewnętrznych raportów branżowych, badań i oficjalnych publikacji. Klikając w numerację [X] w treści artykułu, automatycznie zostaniesz przeniesiony do odpowiedniego przypisu.

Zdjęcie autora: Krzysztof Czapnik
O autorze

Krzysztof Czapnik

Founder & Technical Lead, KC Mobile

Projektuję i rozwijam strony WordPress, sklepy WooCommerce oraz aplikacje internetowe. Łączę projektowanie z programowaniem, integracjami i technicznym SEO. Projekty KC Mobile prowadzę osobiście.

Potrzebujesz pomocy z tym tematem? Napisz - odpowiem osobiście w 24h.

Potrzebujesz konkretnej funkcji na stronie?

Opisz, co użytkownik ma móc zrobić, i podaj adres obecnej strony, jeśli już działa. Możesz dołączyć przykład. Dobierzemy zakres prac do istniejącej witryny, a nową stronę z dedykowanym projektem przygotujemy od 3 500 zł netto.