# W każdy czwartek o 22:00 #
Spotkania ludności drupal.pl na IRC- odpal czat -
- dedykowany temat na forum -

drupal.pl w sieci Google!

Shoutbox

You're not permitted to post shouts.
DepecheMati

Widać, że pracownikom Google się nudzi - http://bit.ly/L6pAsn :-}

1 dzień 10 godzin ago
grzegorz.bartman

Wybiera się ktoś na DrupalCon do Monachium?

2 dni 10 godzin ago
malcolm

No, wspomnień czar ;)

6 dni 8 godzin ago
spamator12

@Mati thx :P
@malcolm gdzieś o tym słyszałem i to z tego forum nie pamiętam... Gra się w to jak w stare setlersy ?

6 dni 9 godzin ago

Fatal error: Allowed memory size of X bytes exhausted (tried to allocate Y bytes)

Problem:

Fatal error: Allowed memory size of X bytes exhausted (tried to allocate Y bytes)

Objawy problemu:

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.

Możliwe przyczyny:

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

Możliwe rozwiązania:

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.