Сообщение Allowed memory size exhausted появляется, когда PHP-процесс использовал больше памяти, чем разрешено сервером.
Увеличение лимита может помочь, но при ошибке в плагине, рекурсии или огромной выборке оно лишь скрывает причину.
Как проявляется проблема
- критическая ошибка при открытии страницы
- падение импорта
- ошибка в редакторе
- backup завершается с ошибкой
- проблема появилась после нового плагина
Основные причины
1. Низкий memory_limit
Тяжёлой конфигурации WordPress или WooCommerce не хватает доступной памяти.
2. Тяжёлый плагин
Конструктор, импортёр или отчёт загружает большие массивы.
3. Неоптимальный SQL
Код получает тысячи записей и метаданных за один запрос.
4. Импорт без пакетов
Весь файл обрабатывается одним PHP-запросом.
5. Рекурсия или утечка
Ошибка логики постоянно накапливает объекты в памяти.
Пошаговая диагностика
Шаг 1. Прочитать fatal error
Файл и строка показывают, где память закончилась, хотя это не всегда реальный виновник.
Шаг 2. Проверить фактический лимит
Сверьте memory_limit в панели хостинга/phpinfo и настройках WordPress.
Шаг 3. Отключить подозрительный компонент
Повторите операцию на staging без недавно установленного плагина.
Шаг 4. Оценить объём данных
Массовую операцию нужно дробить, а не выполнять одним запросом.
Как исправить
Поднять лимит разумно
Если сервер располагает памятью, увеличьте лимит до уровня, подходящего проекту.
Обрабатывать пакетами
Импорт и генерацию миниатюр разбивайте на части.
Оптимизировать код
Получайте только нужные поля и не храните огромные наборы объектов в памяти.
Что важно не делать
- Не меняйте сразу несколько настроек: после каждого действия проверяйте результат.
- Перед правками файлов и базы сделайте резервную копию.
- Не отключайте защиту, кеш или обновления навсегда только ради временного обхода ошибки.
- На интернет-магазине проверяйте решение не только под администратором, но и как обычный посетитель.
Когда нужна помощь разработчика
Если проблема повторяется, затрагивает продажи, заявки или индексацию, сохраните время ошибки и журналы сервера. Это позволяет найти первопричину вместо временного обхода.
Нужна диагностика? Можно обратиться за восстановлением WordPress.
Связанные статьи
Часто задаваемые вопросы
Какой memory_limit нужен?
Универсального числа нет: WooCommerce и конструкторы требуют больше, чем простой блог.
Можно ли поставить -1?
На production это плохая идея: бесконечный лимит способен уронить весь сервер.
Почему после обновления стало хуже?
Новая версия компонента могла изменить потребление памяти или запустить миграцию.