LH.pl · Dział pomocy
“Fatal error: Allowed memory size of X bytes exhausted” – jak naprawić to pytanie, które zadaje sobie niejed użytkownik. Błąd ten jest dość popularny i często pojawia się podczas wykonywania różnych operacji na stronie. Komunikat informuje nas o tym, że skrypt PHP przekroczył dostępny limit pamięci PHP. Jest to informacja o tym, ile bajtów pamięci, która jest aktualnie wykorzystywana, jak również ile bajtów się nie zmieściło. Komunikat na stronie wygląda następująco:
1. Komunikat “Fatal error: Allowed memory size of X bytes exhausted” informuje nas o tym, że skrypt PHP przekroczył dostępny limit pamięci PHP.
2. Błąd możesz bardzo szybko naprawić dokonując zmiany w pliku konfiguracyjnym PHP na serwerze. W zależności od hostingodawcy może to być: .user.ini, wp-config.php lub .htaccess.
3. Poza zwiększeniem ilości pamięci warto zweryfikować także access log php i sprawdzić, co powoduje jej zwiększone zużycie.
WordPress jest CMS opartym o język programowania jakim jest PHP. Stanowi doskonałe rozwiązanie dla twórców stron internetowych, jak również użytkowników nie posiadających dużej wiedzy programistycznej. Na pierwszy rzut oka powyższy komunikat może okazać się dość skomplikowany do interpretacji oraz naprawy. Poniżej podpowiem Ci, jak szybko możesz naprawić błąd i przywrócić stronę do działania.
Błąd “Fatal error: Allowed memory size of X bytes exhausted” – jak naprawić?
Podstawowym krokiem, który należy wykonać aby usunąć błąd ze strony jest zwiększenie limitu pamięci. Możesz to wykonać w bardzo prosty i szybki sposób, a mianowicie za pomocą pliku konfiguracyjnego PHP.
Zwiększenie limitu pamięci wykonasz w pliku .user.ini na serwerze. Wystarczy, że zdefiniujesz w nim parametr memory_limit. Niektóre parametry PHP są ustawione domyślnie w zależności, od tego jaką aktualnie posiadasz wersję PHP. W przypadku memory_limit wygląda to następująco:
Zwiększenie limitu pamięci PHP:
W LH.pl zmianę parametrów PHP, w tym memory_limit należy dokonać bezpośrednio w pliku user.ini na serwerze. Każdy z pakietów hostingu współdzielonego posiada odrębne limity parametrów PHP (parametry bezpieczeństwa), jakie możesz ustawić. Wygląda to następująco:
W zależności od konfiguracji usługi, czasami parametry PHP mogą być zdefiniowane w pliku wp-config.php znajdującym się w głównym katalogu WordPressa. Wtedy zapis w pliku wygląda następująco:
define(‘WP_MEMORY_LIMIT’, ‘256M’);
Jeżeli tak jest i w Twoim przypadku to możesz tam zwiększyć wartość ‘256M’ na inną w zależności od posiadanego pakietu Po zapisaniu zmian, sprawdź, czy błąd nadal występuje.
WAŻNE! U niektórych hostingodawców istnieje także możliwość definiowania parametrów PHP w pliku .htaccess.
Po zmianie tego parametru na wyższy strona powinna zacząć ładować się poprawnie.
Weryfikacja logów i optymalizacja wtyczek
Czasami pomimo zmiany parametru memory_limit na serwerze warto także przyjrzeć się logom, a dokładnie access log php. Może się okazać, że jakiś skrypt na stronie będzie próbował alokować zbyt dużą ilość pamięci RAM. Warto w takiej sytuacji zweryfikować dlaczego tak się dzieje, jak również przyjrzeć się optymalizacji strony internetowej.
Niektóre wtyczki, czy też motywy mogą zużywać bardzo duże ilości pamięci. Warto zweryfikować, czy wszystkie dodatki, które masz zainstalowane na swojej stronie posiadają niezbędne aktualizacje oraz czy są niezbędne do funkcjonowania strony. Warto usunąć, te z których już nie korzystasz.
Podsumowanie
Zwiększenie limitu pamięci PHP jest prostym działaniem i w większości przypadków przyniesie natychmiastowy rezultat. Warto jednak przyjrzeć się stronie oraz jej komponentom, aby zbadać co zużywa najwięcej pamięci i dokonać optymalizacji strony internetowej, aby mieć pewność że problem nie powróci.
Najczęściej zadawane pytania
1. Co powoduje błąd “Fatal error: Allowed memory size of X bytes exhausted” w WordPressie? Błąd spowodowany jest tym, że skrypt PHP przekroczył dostępny limit pamięci PHP. Jest to informacja o tym, ile bajtów pamięci, która jest aktualnie wykorzystywana, jak również ile bajtów się nie zmieściło. 2. Jak ustawić parametr memory_limit na serwerze? W Lh.pl zmianę parametru PHP dokonuje się w pliku .user.ini na serwerze. Plik znajduje się w głównym katalogu z plikami strony. Warto także zweryfikować, czy w pliku wp-config.php nie zostały wprowadzone żadne zmiany w tym zakresie. W zależności od hostingodawcy limit pamięci można także definiować w pliku .htaccess. 3. Czy warto zweryfikować logi, aby naprawić błąd “Fatal error: Allowed memory size of X bytes exhausted” w WordPressie? Tak, zweryfikowanie access log php, pozwoli Ci ustalić skąd bierze się tak duże zużycie pamięci i w jakich aspektach warto przyjrzeć się optymalizacji strony internetowej. |