Как понять эту ошибку PHP (Out of memory)

12
H
На сайте с 18.12.2010
Offline
32
2407
PHP Fatal error: Out of memory (allocated 16252928) (tried to allocate 131072 bytes) in Unknown on line 0,

Я читаю так: Выделено памяти 16252928,

А нужно 131072

Т.е выделено больше чем нужно, тогда в чем проблема?

Всего памяти 380 мб, но эта ошибка возникает у юзеров регулярно...

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

Комментарии для ваших сайтов (/ru/forum/772278) | Автоматические WM кредиты (http://wmcoin.com/?x=RBNRPVEVNRZR)
ne0n91
На сайте с 28.03.2011
Offline
58
#1

memory_limit увеличить не пробовали? (php.ini)

coolwebsearcher
На сайте с 29.09.2008
Offline
87
#2

скрипту уже выделено 16252928

при попытке выделить еще 131072 байт возникла ошибка.

для устранения ошибки нужно увеличить memory_limit в php.ini, либо оптимизировать скрипт.

Услуги (http://www.our-dns.info/) | Цены (http://www.our-dns.info/prices/) | Отзывы (/ru/forum/970789)
H
На сайте с 18.12.2010
Offline
32
#3

в php.ini прописано 380 мб.

Т.е по любому больше.

Я вот думаю: если там несколько процессов одновременно, например несколько пользователей одновременно что-то юзают,

тогда это кол-во памяти которое нужно, множится на кол-во процессов, и в итоге, вообще физически нужно больше памяти... ммм.. верно?

LEOnidUKG
На сайте с 25.11.2006
Offline
1762
#4
в php.ini прописано 380 мб.

Ну и что?

Мы не знаем какие у вас там скрипты.

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
H
На сайте с 18.12.2010
Offline
32
#5
Ну и что?
Мы не знаем какие у вас там скрипты.

Скрипты, которым уже выделено 16252928 и нужно еще 131072 :)

Не совсем понял как это работает... Если в php.ini закомментировать строку memory_limit, то будет выделяться памяти столько сколько есть, или не будет выделяться вообще ни сколько?

coolwebsearcher
На сайте с 29.09.2008
Offline
87
#6

через

<?php

phpinfo();

?>

значение memory_limit какое?

H
На сайте с 18.12.2010
Offline
32
#7
через

<?php
phpinfo();
?>

значение memory_limit какое?

memory_limit 360M 360M

---------- Добавлено 07.02.2012 в 22:45 ----------

(12)Cannot allocate memory: Can't fork
(12)Cannot allocate memory: Timeout connecting daemon

Заметил в логах.

А еще в isp иногда вылазит ошибка Fatal error: Can't fork

coolwebsearcher
На сайте с 29.09.2008
Offline
87
#8

число allocated всегда одинаковое или меняется?

может в самом скрипте memory_limit выставляется, либо через .htaccess.

phpinfo смотрели на том сайте, где ошибка появляется?

H
На сайте с 18.12.2010
Offline
32
#9
число allocated всегда одинаковое или меняется?

нет, меняется. Второе (ну, tried to allocate) тоже меняется.

Подобную ошибку заметил еще на одном сайте, который тоже на этом сервере. Он на друпал, а этот на айпиби. Так там вообще брэд:

Out of memory (allocated 23592960) (tried to allocate 40 bytes)

40 байт не хватает)) и таких ошибок в логах там полно. Но вот на сомом сайте их не вижу :)

может в самом скрипте memory_limit выставляется, либо через .htaccess.

Насчет скрипта не знаю, но в хтаккесе смотрел, ничего такого нет. Точнее, там было прописано php_value memory_limit 360M т.е как и в пхп.ини

phpinfo смотрели на том сайте, где ошибка появляется?

да, создал в корне файлик.

EH
На сайте с 03.01.2012
Offline
2
#10

Нужно увеличить memory_limit в глобальном php.ini до максимума.

Если доступа нет то создайте php.ini в корне и пропишите в .htaccess следующую строчку

SetEnv PHPRC /полный путь к файлу php.ini (100% работает для suPHP)

Еще нужно посмотрите нет ли у Вас в httpd.conf значения Rlimit

Бывает что сам apache режет ресурсы для исполнения скрипта.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий