Помилка:
Фатальна помилка: Дозволений розмір пам'яті X байт вичерпано (намагався виділити Y байт)
Для перетворення байтів X в Мб розділіть на 1024 * 1024 або перевірте на Wolfram .
трапляється, коли PHP намагається виділити байти Y, але для байтів X встановлено жорсткі обмеження, встановлені memory_limit
налаштуваннями конфігурації PHP .
Поточний ліміт можна перевірити, перейшовши до Адміністрації »Звіти» Звіт про стан »PHP (URL:) /admin/reports/status/php
або надрукувавши ini_get('memory_limit')
в PHP (зверніть увагу, що обмеження має бути різним для UI та 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
.
Для подальшого дослідження, які сторінки / компоненти використовують найбільше пам’яті, ви маєте такі можливості:
Для отримання додаткової інформації перевірте: