25 мая 2009 г.

php не хватает памяти

При работе с друпалом начали возникать ошибки, по типу:

Fatal error: Allowed memory size of 16777216 bytes exhausted (tried to allocate 3270 bytes) in /var/www/vhosts/arsyscad/arsys.uz/httpdocs/includes/form.inc on line 2209

Это значит, что Php не хватает памяти.

1. Создаем файл info.php со следующим содержимым:

<_?_php
phpinfo_
() ;
?_>

Там, где стоит _ ничего быть не должно, удаляем подчеркивание. Просто движок блогов у гугла уродует код.

2. Запускаем его. Смотрим, сколько памяти выделено.
3. Если памяти мало, лезем в /etc/php5/apache2/php.ini, ставим лимит памяти побольше, скажем 128

memory_limit=128M

3 комментария:

  1. А что делать, если сайт на хостинге, а хостер уперся и не хочет менять memory_limit в php.ini?!

    Можно и ini_set( "memory_limit", "128M" ); вот такой оператор выполнить там, где это нужно. Если результат sql запроса большой или работаем с изображениями снятыми не на мыльницу.

    ОтветитьУдалить
  2. спасибо, буду иметь в виду, учитывая, что я полный ламер в области LAMP =)
    вдруг пригодится

    ОтветитьУдалить
  3. Не за что, я тоже ламер в LAMP, но просто написал маленький скриптик для работы с графикой, а он начал вылетать из-за нехватки памяти. Вот прогуглил, был очень рад, что VPS не нужно покупать для сайта. )))

    ОтветитьУдалить