Fatal error: Allowed memory size of 8388608 bytes exhausted; либо абсолютно пустая страница

Прислано: axel

чт, 23/09/2004 - 21:33

Другие статьи по теме:

Если во время работы сайта вы столкнулись с подобной ошибкой (она сопровождается еще всякими разными сообщениями, например будет указано при исполении какого модуля не хватило памяти), следует этой памяти скрипту добавить. Раз оно хочет, пусть получит.

- в .htaccess можно добавить строку (при условии, что PHP работает под Apache через mod_php):

php_value memory_limit 16M

- либо в php.ini увеличить аналогичный параметр:

memory_limit = 16M

Следующий вариант можно указывать прямо в своём PHP-скрипте:

ini_set('memory_limit', '16M')

Некоторые скрипты или модули Drupal могут требовать больше памяти — смотрите описание к ним. Например CiviCRM, работающая совместно с Drupal требует минимум 24Мб памяти.

Если ошибка появляется после увеличения памяти, то есть повод задуматься, все ли хорошо в скрипте? Может быть один из модулей имеет неадекватные аппетиты к потреблению памяти - пробуйте отключать модули по очереди и найти виновника.

Updated by Nick: этот же рецепт может помочь, если на сайте переодически вылазят абсолютно пустые страницы.

Комментарии


Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Применить"
Опубликовано B.X в сб, 25/09/2004 - 13:41.

неужели .htaccess влияет и на php? очень хорошо тогда...
а это на всех хостингах работает или не на всех? и в каких опциях для .htaccess это доступно, в Апаче указано что можно сделать с помощью .htaccess (это All, Multiviews или что-то вроде этого, не помню точно)?


Опубликовано axel в пн, 27/09/2004 - 14:33.

Какие опции можно указывать в .htaccess зависит от настроек Apache. На разных хостингах своя политика - у хостера проще спросить. Остаток вопроса не понял :\

--
Axel


Опубликовано B.X в пн, 27/09/2004 - 16:29.

в .htaccess не всё можно использовать (не все директивы), если в конфиге Апача урезаны возможности использования .htaccess, так вот я и спрашиваю, как узнать, какие возможности даны и к каким настройкам относится возможность указать лимит для php... проще спросить у хостера, но хотелось бы и самому знать на будущее...


Опубликовано Basielienis в вт, 28/09/2004 - 05:11.

Если есть возможность почитать httpd.conf (через ssh, иногда бывает, что и по ftp есть доступ к etc), то смотреть директиву AllowOverride. Если нет - то спрашивать у хостера и просить выставить AllowOverride All.
Настройки могут быть не только в httpd.conf, но и в include, например, vhosts.conf.


Опубликовано arsart в вт, 07/06/2005 - 21:05.

masterhost не дает увеличивать память.
Пересборка собственного php с увеличенной памятью не помогла, т.к. её все равно попросили вежливо убрать после нескольких падений и перегрузок БД-сервера моим php-cgi, который крутанулся n-раз от перегруженных модулей locale, taxonomy_browser. (Частный случай конечно)


Опубликовано igor_ber (гостевой логин) в сб, 20/08/2005 - 04:33.

Пишем ini_set("memory_limit","20M") прямо с php скрипта, желательно с начала самого скрипта :-) Сам не пробывал, но должно работать :-)

А прикол с .htaccess - ДЕЙСТВИТЕЛЬНО ПОМАГАЕТ!

И еще - вроди проблема не в наших скриптах, а в memory leak в самом движке php, так что просите хостингов апгрейднутся на php 5


Опубликовано Shedko в чт, 30/11/2006 - 03:01.

способ с .htaccess - работает, спасибо.


Опубликовано Ckrijer (гостевой логин) в сб, 28/07/2007 - 08:25.

Во:
ini_set("memory_limit","20M");
работает! Спасибо! ;)


Опубликовано Tankha в пн, 21/07/2008 - 00:39.

Всё зависит от хостера.
У меня например он все эти возможности выключил.


Опубликовано BassEast в вс, 01/02/2009 - 13:51.

ini_set("memory_limit","20M");

куда это вставлять, конкретный файл? даже если и модульный, то какой?


Опубликовано yuzver.name в сб, 23/05/2009 - 14:15.

Строка добавляется в index.php после открывающего php-тега.
И лучше выделить 32 мб. памяти.


Опубликовано ivcons в чт, 20/08/2009 - 17:29.

Мой хостер тоже не разрешает менять лимит. Однако мне не достаточно 32 мб.

Это я что-то не так делаю или все же проблема с хостингом.

Памяти не хватает только при настройке модулей (включение, выключение, просмотр списка модулей)


Опубликовано Tankha в чт, 20/08/2009 - 18:21.

Именно так и есть - в первую очередь падает страница, отображающая список модулей.
Причем проверено, что даже 42 мБ - маловато. Views например лучше вообще не закачивать. ССК - можно, только если других тяжелых модулей не очень много.


Опубликовано ivcons в пт, 21/08/2009 - 08:41.

А как же без Views и CCK? Может кто знает как решить проблему? Почему не реализована функция выводить модули не сразу полным списком, а по категориям? По-моему было бы гораздо легче для сервера?


Опубликовано Tankha в пт, 21/08/2009 - 20:11.

ССК я ставлю, Views - нет. Судя по-всему нужно 50+ лимита, чтобы страница списка не вызывала Fatal Error.
Хотя если выключить все хоть сколько-нибудь тяжелые модули то вполне возможно что Views и ССК не будут вызывать падение. В любом случае сайт будет тормозить.
Для нормальной работы Drupsl нужен или хороший хостинг (что встречается редко или заметно дороже) или свой сервак ()идеальный вариант.


Опубликовано gor в пт, 21/08/2009 - 21:18.

ОБычно меняют хостера на того, который позволяет.