Понимание ошибки php "Не хватает памяти"


Я могу найти множество руководств о том, как преодолеть ошибку нехватки памяти. Решение таково: увеличить объем памяти в php.ini или в .htaccess - какой сюрприз...

На самом деле я не понимаю сообщение об ошибке:

Неустранимая ошибка: Не хватает памяти (выделено 32016932) (пытался выделить 25152 байта)

" Выделено 32016932", означает, что 32 МБ было выделено как в - скрипт PHP использует 32 МБ? Пытался выделить 25152, означает, что пытались выделить еще 25 КБ, но сценарий не удался, так как достигнут максимум (~32 МБ?)?

Что я могу на самом деле сказать из этого сообщения об ошибке, кроме того, что у меня "не хватает памяти"?

Author: Dennis G, 2011-02-25

2 answers

Я всегда интерпретировал это так:

Fatal error: Out of memory ([currently] allocated 32016932) (tried to allocate [additional] 25152 bytes)

Но хороший вопрос, если есть пуленепробиваемое объяснение.

 17
Author: Hannes, 2011-02-25 15:27:50

Все в точности так, как вы это поняли.

Ограничение, вероятно, установлено на 32 МБ, у вас уже выделено 32016932 байта, и когда php попытался выделить еще 25152 байта, ограничение превышено, таким образом, появляется сообщение об ошибке.

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

Удачи в поисках виновника.

 9
Author: krtek, 2011-02-25 15:20:07