Jak sprawdzić i ustawić limit pamięci dla WordPressa
Komunikat błędu
Fatal error: Allowed memory size of 12345678 bytes exhausted
(tried to allocate 2345678 bytes) in /public_html/wp-includes/plugin.php on line 500
lub
Fatal error: Out of memory (allocated 12345678) (tried to
allocate 2345678bytes) in /public_html/wp-includes/plugin.php on line 500
Komunikaty informują nas o tym, ile bajtów pamięci jest aktualnie wykorzystywanych oraz ile bajtów się nie zmieściło. Wyświetlana jest też ścieżka do pliku, który natrafił na błąd oraz wskazana jest dokładna linijka kodu w którym występuje ten błąd. Informacja ta jest przydatna z tego względu że jeśli po zwiększeniu limitu pamięci, problem nadal będzie występował, będziemy mogli zwrócić się o pomoc do autora wtyczki i wskażemy mu w którym pliku i w której linijce kodu występuje problem.
Dlaczego wyświetla się błąd?
Wyświetlany błąd informuje nas o tym że skończyła się pamięć dla skryptów PHP. Dzieje się tak głównie dlatego, że nasz serwer posiada ograniczenia, zazwyczaj wystarczy dokonać drobnej zmiany w jego konfiguracji aby wszystko wróciło do normy. Niestety w przypadku darmowych serwerów może się okazać, że nie możemy dokonać zmian w konfiguracji lub wykorzystujemy już maksymalny limit pamięci. Wtedy warto zastanowić się nad zmianą serwera.
Zwiększenie limitu pamięci dla WordPressa
Dla pojedynczej strony, WordPress domyślnie przydziela do 40MB pamięci lub 64MB w przypadku stron typu multisite. Jeśli wyświetlany jest nam powyższy komunikat, to znaczy że ta ilość pamięci jest nie wystarczająca. Ilość pamięci w takim przypadku jest zależna od tego co wykonuje wtyczka która wywołała błąd. Zazwyczaj wystarczy jak zwiększymy pamięć do 128MB.
Edycja pliku php.ini
Aby edytować plik php.ini musimy mieć do niego dostęp na naszym serwerze. Jeśli posiadamy hosting lub serwer z panelem zarządzania to możliwe że jest tam możliwość edycji pliku php.ini. W przypadku serwerów vps lub dedykowanych musimy edytować plik np. przez konsolę SSH.
W pliku musimy odnaleźć linijkę zawierającą kod: „memory_limit” i zmienić w nim wartość na 128M:
memory_limit = 128M
Edycja pliku .htaccess
Jeśli nie mamy dostępu do edycji pliku php.ini lub jeśli po jego edycji dalej występuje błąd, możemy zwiększyć pamięć dodając nową regułę w pliku .htaccess. Plik możemy znaleźć w głównym katalogu WordPressa. Najlepiej na samym końcu pliku dodać kod:
php_value memory_limit 128M
Edycja pliku wp-config.php
Aby zwiększyć limit pamięci, możemy spróbować edytować plik wp-config.php znajdujący się w głównym folderze WordPressa. Poniższą linijkę kodu należy dodać na samym końcu pliku (ale przed komentarzem: „/* That’s all, stop editing! Happy blogging. */”):
define(’WP_MEMORY_LIMIT’, '128M’);
Żaden sposób nie pomaga.
Możliwe że hosting nie pozwala zwiększyć limitu pamięci lub jest on mocno ograniczony. Najlepiej w takim przypadku skontaktować się z administratorem i poprosić o zwiększenie limitu.
Zmiana wersji PHP
Niektóre hostingi umożliwiają zmianę wersji PHP, możliwe że o zmianie wersji PHP na wyższą problem przestanie występować. Przed zmianą wersji PHP należy się upewnić że wszystkie zainstalowane wtyczki są kompatybilne z nową wersją PHP.
Dodaj komentarz