Понимание ошибки php "Не хватает памяти"
Я могу найти множество руководств о том, как преодолеть ошибку нехватки памяти. Решение таково: увеличить объем памяти в php.ini
или в .htaccess
- какой сюрприз...
На самом деле я не понимаю сообщение об ошибке:
Неустранимая ошибка: Не хватает памяти (выделено 32016932) (пытался выделить 25152 байта)
" Выделено 32016932", означает, что 32 МБ было выделено как в - скрипт PHP использует 32 МБ? Пытался выделить 25152, означает, что пытались выделить еще 25 КБ, но сценарий не удался, так как достигнут максимум (~32 МБ?)?
Что я могу на самом деле сказать из этого сообщения об ошибке, кроме того, что у меня "не хватает памяти"?
2 answers
Я всегда интерпретировал это так:
Fatal error: Out of memory ([currently] allocated 32016932) (tried to allocate [additional] 25152 bytes)
Но хороший вопрос, если есть пуленепробиваемое объяснение.
Все в точности так, как вы это поняли.
Ограничение, вероятно, установлено на 32 МБ, у вас уже выделено 32016932 байта, и когда php попытался выделить еще 25152 байта, ограничение превышено, таким образом, появляется сообщение об ошибке.
Вероятно, вы можете увидеть строку, в которой произошло неправильное распределение, в своих журналах или рядом с сообщением об ошибке на экране.
Удачи в поисках виновника.