Помогите решить проблему с конфигурацией вебсервера на CentOS
существует проблема на сервере... (VPS)
некоторые скрипты завершаются с ошибкой
PHP Fatal error: Out of memory (allocated
10747904) (tried to allocate 44 bytes) in
/home/partinfo/public_html/libraries/joomla/database/database/mysql.php
on line 462
(да, это джумла)
не хватает памяти для выполнения скрипта... смотрим в настройки пхп - memory_limit=64M
тоесть явно лимит больше чем используется (увеличение лимита соответственно ни к чему не приводит)
ограничение на уровне системы
/etc/security/limits.conf
файл пустой... точнее дефолтный... все закомментировано
под впс выделено 512 мег памяти...
результат выполнения posix_getrlimit()
Array
(
[soft core] => 0
[hard core] => 0
[soft data] => unlimited
[hard data] => unlimited
[soft stack] => 10485760
[hard stack] => unlimited
[soft totalmem] => 44739242
[hard totalmem] => unlimited
[soft rss] => unlimited
[hard rss] => unlimited
[soft maxproc] => 135168
[hard maxproc] => 135168
[soft memlock] => 32768
[hard memlock] => 32768
[soft cpu] => 240
[hard cpu] => unlimited
[soft filesize] => unlimited
[hard filesize] => unlimited
[soft openfiles] => 16384
[hard openfiles] => 16384
)
вероятно проблема в
soft stack ( The maximum size of the process stack, in bytes.)
Но где устанавливаются ограничения на это ... не имею понятия
Проблема в настройке вебсервера: не хватает памяти для выполнения php
Что в строке 462 в файле /home/partinfo/public_html/libraries/joomla/database/database/mysql.php?
Цикл .... вероятно проходит большой запрос на выборку чего-то... но не в этом суть. мне нужно просто увеличить выделяемую память, но я что-то не допру где и чем она ограничивается.
//код начиная с 468 строки
while ($row = mysql_fetch_object( $cur )) {
if ($key) {
$array[$row->$key] = $row;
} else {
$array[] = $row;
}
}Зачем начиная с 468 строки, если в логах упоминается 462?
Выложите нормальный листинг и, желательно, с подписанными номерами строк
опечатался ... код начиная с 462 строки..
вот ссылка на полный листинг
http://pastebin.com/QdxShjF5
это стандартная джумловсая либа
посмотрите тут: http://forum.joomla.org/viewtopic.php?f=268&t=338355
попробуйте, посмотрим на результат
Там предлагают увеличить лимит памяти средствами php (ini_set('memory_limit', '192M' );)
как я УЖЕ НАПИСАЛ:
не хватает памяти для выполнения скрипта... смотрим в настройки пхп - memory_limit=64M
тоесть явно лимит больше чем используется (увеличение лимита соответственно ни к чему не приводит)
вероятно Вы не обратили на это внимания!
PHP Fatal error: Out of memory (allocated 10747904) (tried to allocate 44 bytes)
падает при попытке выделения чуть более 10 мб, если я правильно понимаю
Такая же проблема, чем у вас всё решилось ?