Ошибка:
Неустранимая ошибка: допустимый объем памяти X байтов исчерпан (попытался выделить Y байтов)
Чтобы преобразовать байты X в МБ, разделите на 1024 * 1024 или проверьте на Wolfram .
происходит, когда PHP пытается выделить Y байтов, но существует жесткое ограничение на X байтов, установленное memory_limit
настройками конфигурации PHP .
Текущий лимит можно проверить, перейдя в Администрирование »Отчеты» Отчет о состоянии »PHP (URL:) /admin/reports/status/php
или напечатав ini_get('memory_limit')
в PHP (обратите внимание, что лимит будет различным для пользовательского интерфейса и CLI).
Чтобы это исправить, вам нужно уменьшить использование ресурсов, например:
отключите все модули разработки, которые вы не используете в настоящее время (рекомендуется),
Это включает в себя: Devel, Devel Themer (если включено).
отключите все модули, которые вы не используете,
отключите определенные переменные отладки, которые могут повлиять на ваши ресурсы памяти, например, несколько примеров с drush
:
drush -y vset rules_debug 0
drush -y vset rules_debug_log 0
отключить определенные расширения PHP, такие как XDebug,
- включить кэши redis / memcached и некоторые кэши PHP (например, OPCache / XCache),
- наконец, если выше, это не поможет - увеличьте
memory_limit
вашу конфигурацию PHP .
Если вы решите увеличить лимит памяти, многие здесь советуют взломать ваше ядро, вставив в него код PHP, index.php
чтобы увеличить объем памяти PHP - никогда не делайте этого ! Это очень плохая практика.
Вместо этого отредактируйте свой settings.php
(или, settings.local.php
если он у вас есть) и вставьте туда следующий код в конце:
ini_set('memory_limit', '512M');
или лучший способ сделать это - отредактировать файл конфигурации PHP ( php.ini
) и изменить следующую строку:
memory_limit = 512M ; Maximum amount of memory a script may consume
Если вы не уверены, где ваш php.ini
, проверьте:
drush status
команда
- или перейдя на
/admin/reports/status/php
.
Чтобы узнать, какие страницы / компоненты используют больше всего памяти, у вас есть следующие возможности:
Для получения дополнительной информации, проверьте: