Fatal error: Allowed memory size of 8388608 bytes exhausted

Kiedy używamy lokalnego serwera często pojawiają się problemy z pamięcią.

Bez odpowiedniej konfiguracji często niektóre skrypty po prostu nie działają.

Jednym z częstych błędów jest przekroczenie dopuszczalnego rozmiaru pamięci. Przykładowy błąd “Fatal error: Allowed memory size of 8388608 bytes exhausted” pojawi się w momencie, gdy skrypt próbuje wykorzystać więcej pamięci niż zostało przydzielone (w tym przypadku 8MB).

Rozwiązanie tego problemu jest bardzo proste. Wyłączamy nasz lokalny serwer. Następnie odnajdujemy plik php.ini (c:/Windows/php.ini). Edytujemy jego treść. W linijce zawierającej

memory_limit =

zmieniamy przydzielony limit pamięci. Standardowo ustawiony limit wynosi 8M. Możemy go zmienić na np. 16M.

Po wprowadzeniu zmian zapisujemy je i powtórnie uruchamiamy serwer.

Odradzam edycję pliku przed wyłączaniem serwera (w wielu poradnikach można znaleźć info o tym żeby po wyedytowaniu pliku php.ini po prostu zrestartować serwer) – może to powodować jego zawieszanie i niestabilną pracę.

Po restarcie środowiska odświeżamy stronę. Jeżeli przydzieliliśmy odpowiednio dużo pamięci błąd nie powinien się już pojawić.