PHP: Allowed memory size exhausted
Скрипт превысил memory_limit: важно понять, это разовый тяжёлый процесс, утечка или слишком низкий лимит.
Проверьте по порядку
Сначала локализуйте слой сбоя и только потом меняйте конфигурацию.
- 1Найдите в логе конкретный файл и объём memory_limit.
- 2Сравните ошибку на обычном запросе и на импорте/генерации/обработке изображения.
- 3Проверьте размер входных данных и циклы, которые загружают всё в память.
- 4Не повышайте лимит бесконечно — сначала оцените ожидаемый профиль памяти.
Как читать результат
Тяжёлое изображение/импорт
Признак: Ошибка только на крупных файлах.
Что делать: Оптимизируйте потоковую обработку или лимиты загрузки.
Утечка/цикл
Признак: Память растёт на обычном запросе.
Что делать: Исправьте алгоритм/рекурсию.
Лимит слишком низкий
Признак: Рабочее приложение упирается в небольшой memory_limit.
Что делать: Поднимите до разумного значения после оценки.
Сохраняйте наблюдаемую ошибку
Код ответа, заголовки и запись в логе полезнее случайного «починилось после перезапуска»: именно они показывают, какой слой действительно сломался.