hosting:errors:allowed-memory-size

2.20.8. Ошибка Fatal error: Allowed memory size

Эта ошибка означает, что ваш скрипт для выполнения требует памяти больше, чем разрешено в настройках PHP выбранного вами тарифного плана.

Например, в строчке:

Fatal error: Allowed memory size of X bytes exhausted (tried to allocate Y bytes)
  • Х — доступный объём памяти.
  • Y — сколько скрипт пытался выделить сверх разрешённого объёма.

Чаще всего данная ошибка возникает в случаях, когда системные требования установленной СMS к оперативной памяти выше значения PHP memory_limit выбранного тарифа, или при обработке xml-файлов, загрузке изображений, запуске требовательных к ресурсам или просто неоптимизированных скриптов и модулей.

В архивных тарифах, где максимальное значение параметра равно 64 или 128 МБ, с помощью Turbo Boost можно временно (на 2 часа) увеличивать memory_limit до 256 МБ и время выполнения скрипта до 300 секунд. Используется для кратковременного превышения ограничений тарифного плана при загрузке товаров в интернет-магазины, установки различных тем и других ресурсоёмких задач.

Решением проблемы может быть смена тарифного плана на другой, с большим значением PHP memory_limit, уменьшение размера обрабатываемых скриптом файлов, анализ работы и оптимизация самого скрипта или модуля с целью уменьшения потребляемых им ресурсов памяти.

При смене тарифного плана следует учитывать, что данное действие поможет лишь в случаях, когда требования к памяти предъявляются разработчиками СМS, а также в некоторых случаях обработки больших файлов. В случае требовательного к ресурсам скрипта (как правило самописного) исправлять нужно сам скрипт.

Если на сайте используются скрипты морально устаревших версий, обязательно проверьте, соответствует ли установленная для сайта версия PHP рекомендованной разработчиком сайта. Если нет, смените её на нужную и проверьте работу сайта примерно через 30-60 минут.

Примечание для WordPress: если размер фактически выделенной памяти (значение Х) меньше значения PHP memory_limit используемого тарифного плана, необходимо в файл wp-config.php добавить строку:

define('WP_MEMORY_LIMIT', 'xxxM');

Где xxx — значение PHP memory_limit тарифного плана.

  • hosting/errors/allowed-memory-size.txt
  • Последние изменения: 2019/09/02 10:09
  • — karlov