Allowed memory size exhausted — исчерпан лимит памяти PHP
Ошибка означает, что процесс PHP запросил память сверх memory_limit; увеличение лимита без поиска причины часто лишь откладывает повторение.
Fatal error: Allowed memory size of ... bytes exhaustedСохраните контекст
Зафиксируйте операцию, размер входа, memory_limit и последнюю контролируемую точку. Не публикуйте абсолютные пути и содержимое пользовательских данных.
Частые причины
Чтение большого файла целиком, выборка всех строк, накопление массива результатов, рекурсия без выхода и неожиданное декодирование большого JSON.
Пакетная обработка
<?php
foreach (readRows($stream) as $row) {
process($row);
}Потоковый алгоритм удерживает текущий элемент, а не весь набор.
Лимит как ограничитель
Временное повышение допустимо для известной задачи после оценки верхней границы. Значение -1 не должно становиться стандартным исправлением production-ошибки.
Проверка исправления
Повторите сценарий на возрастающих объёмах, измерьте пик, проверьте освобождение ссылок и задайте контролируемую реакцию на слишком большой вход.
Связанные материалы
Источники и проверка
- PHP Documentation Group — структурный источник, без внешней ссылки
Последняя содержательная проверка: . Автор-разработчик Михаил Каржин. Методика качества контента.