Fatal error: Allowed memory size of X bytes exhausted (tried to allocate Y bytes)
Jednym z najczęściej pojawiających się problemów z Drupalem (ale też z dowolnym skryptem PHP) jest ten z brakiem pamięci.
Objawia się on na różne sposoby – zależnie od konfiguracji wyświetlania błędów przez PHP – od pojawienia się całkiem białej strony, do komunikatu, który zazwyczaj odnajdziemy też w dzienniku zdarzeń PHP:
Fatal error: Allowed memory size of X bytes exhausted (tried to allocate Y bytes)
gdzie X i Y mogą być dowolnymi wartościami.
Komunikat oznacza, że w trakcie wykonywania skryptu PHP została przekroczona graniczna wartość pamięci jaką PHP może wykorzystać.
Wartość ta ustawiana jest w pliku konfiguracyjnym PHP. W zależności od platformy i konfiguracji serwera, plik może być umiejscowiony w różnych miejscach, czasem nawet kilku jednocześnie. W wypadku lokalnej instalacji będzie to na przykład C:xampplitephpphp.ini
Zwiększyć ilość dostępnej dla PHP pamięci. Są na to 3 sposoby:
1) Jeśli możemy zmodyfikować plik z konfiguracją PHP (zwyczajowo jest to plik php.ini), odszukajmy w nim zmienną memory_limit i po znaku równości podajmy większą wartość (np. zamiast 16M wstawmy tam 64M).
Metoda ta z pewnością zadziała na naszym lokalnym serwerze. Plik php.ini jest umieszczony w katalogu C:xampplitephp a po jego zmianie wymagany jest restart serwera apache (wystarczy na panelu sterowania xampp kliknąć stop a po chwili start przy serwerze Apache.
wiele firm w których możemy kupić konto na stronę www z obsługą php i mysql podaje w informacjach jakie są możliwości zmian konfiguracji php. Jeśli nie znajdziemy takiej informacji warto o nią zapytać przed kupnem konta. Więcej porad dotyczących wyboru hostingu znajdziecie w rozdziale 14. „Uruchomienie witryny”.
2) jeśli nie mamy dostępu do php.ini, spróbujmy ustawić to w pliku settings.php umieszczonym w katalogu ./sites/default naszej instalacji Drupala. Dodajmy do niego linijkę
ini_set('memory_limit', '64M')
3) Ostatnią deską ratunku może być plik .htaccess, który znajdziemy w głównym katalogu Drupala. Dodajmy do niego linię:
php_value memory_limit 64M
Niestety znakomita większość firm nie zezwala na taką opcję w .htaccess i często dodanie jej spowoduje komunikat błędu wewnętrznego serwera (Error 500). W takim wypadku wystarczy usunąć niedozwoloną opcję z pliku .htaccess i odświeżyć stronę.... (uzpln)
4) zrestartować serwer Apache, sprawdzić czy limit jest zwiększony tworząc plik info.php o zawartości <?php phpinfo(); ?> i odszukać zapis memory_limit.
- Użyty skrypt:
- Zaloguj się lub utwórz konto, by odpowiadać
- 1793 odsłony
Blog elimu.pl
- Komponent K2 v2.5.6 – gotowy do pobrania
- Joomla 2.5.4 – gotowa do pobrania + PL
- Joomla! Oficjalny podręcznik – polska zapowiedź wydawnicza
- Frameworki Joomla! – pytania i odpowiedzi
- Joomla 1.5.26 – poprawka bezpieczeństwa
- Tajemnicze reklamy w Joomla – zaskakujące odkrycie
- Wywiad z Jakubem Galczykiem
- Zmasowany atak z Rosji?
- Joomla 2.5.3 – poprawka bezpieczeństwa







Ostatnie odpowiedzi
5 tygodni 20 godzin temu
5 tygodni 2 dni temu
5 tygodni 2 dni temu
21 tygodni 3 dni temu
21 tygodni 3 dni temu
22 tygodnie 3 dni temu
22 tygodnie 3 dni temu
32 tygodnie 1 dzień temu
32 tygodnie 1 dzień temu
32 tygodnie 1 dzień temu