Как увеличить лимит памяти WordPress (WP_MEMORY_LIMIT)

Печать
  • 0

Коротко: сначала узнайте лимит памяти PHP в cPanel, затем добавьте в wp-config.php строку с WP_MEMORY_LIMIT. Значение не должно быть больше лимита PHP, иначе оно просто не сработает.

Когда это нужно

Типичные признаки нехватки памяти: ошибка Allowed memory size of ... bytes exhausted, белый экран при сохранении страницы, обрывающийся импорт или зависание конструктора страниц. Чаще всего это случается на сайтах с тяжёлой темой, WooCommerce или большим числом плагинов.

Чем memory_limit отличается от WP_MEMORY_LIMIT

memory_limit задаётся для PHP в cPanel и работает как потолок. WP_MEMORY_LIMIT показывает, сколько из этого потолка WordPress запрашивает для себя. По умолчанию это 40M для обычного сайта и 64M для мультисайта. Выйти за пределы лимита PHP WordPress не может.

Шаг 1. Проверьте лимит PHP

  1. Войдите в cPanel и откройте MultiPHP INI Editor.
  2. Выберите домен сайта.
  3. Найдите параметр memory_limit.

То же самое видно и в самом WordPress: Инструменты, затем Здоровье сайта, вкладка Информация. В разделе Сервер указан лимит PHP, в разделе Константы WordPress текущее значение WP_MEMORY_LIMIT.

Если лимит PHP слишком мал, сначала поднимите его в cPanel в пределах Вашего тарифа. Как это сделать, описано в статье Как изменить настройки php.ini в cPanel.

Шаг 2. Пропишите значение в wp-config.php

  1. В cPanel откройте File Manager и перейдите в папку сайта, обычно это public_html.
  2. Скачайте копию wp-config.php к себе на компьютер, чтобы при ошибке быстро вернуть исходный файл.
  3. Нажмите на файл правой кнопкой мыши и выберите Edit.
  4. Найдите строку с комментарием That's all, stop editing! и вставьте над ней:
define( 'WP_MEMORY_LIMIT', '256M' );
  1. Нажмите Save Changes и проверьте в разделе Здоровье сайта, что новое значение применилось.

Для большинства сайтов 256M вполне достаточно. Крупному магазину может понадобиться больше, но не выше лимита PHP.

Почему не сработало

  • Строка добавлена в самый конец файла, после подключения wp-settings.php. Такие строки WordPress не читает.
  • Константа уже есть в файле выше. Найдите её поиском и измените существующую строку, а не добавляйте вторую.
  • Текст скопирован из Word или мессенджера, и прямые апострофы заменились типографскими. Наберите кавычки вручную.
  • Значение больше, чем memory_limit в PHP.

Полезно знать

Для админки WordPress использует отдельную константу WP_MAX_MEMORY_LIMIT (по умолчанию 256M). Её имеет смысл менять, только если ошибка появляется исключительно в wp-admin.

Увеличение лимита PHP не добавляет аккаунту оперативной памяти: общий объём RAM задан тарифом хостинга. Если ошибка возвращается снова и снова, скорее всего, какой-то плагин расходует память без меры. Найти его поможет журнал ошибок, см. Как читать error_log и отключить плагин, который вызывает ошибку.

Полезные статьи

Помог ли вам данный ответ?

Нужна помощь? Позвоните нам +373 795-800-80