Как увеличить лимит памяти WordPress (WP_MEMORY_LIMIT)
ПечатьКоротко: сначала узнайте лимит памяти 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
- Войдите в cPanel и откройте MultiPHP INI Editor.
- Выберите домен сайта.
- Найдите параметр memory_limit.
То же самое видно и в самом WordPress: Инструменты, затем Здоровье сайта, вкладка Информация. В разделе Сервер указан лимит PHP, в разделе Константы WordPress текущее значение WP_MEMORY_LIMIT.
Если лимит PHP слишком мал, сначала поднимите его в cPanel в пределах Вашего тарифа. Как это сделать, описано в статье Как изменить настройки php.ini в cPanel.
Шаг 2. Пропишите значение в wp-config.php
- В cPanel откройте File Manager и перейдите в папку сайта, обычно это
public_html. - Скачайте копию
wp-config.phpк себе на компьютер, чтобы при ошибке быстро вернуть исходный файл. - Нажмите на файл правой кнопкой мыши и выберите Edit.
- Найдите строку с комментарием
That's all, stop editing!и вставьте над ней:
define( 'WP_MEMORY_LIMIT', '256M' );
- Нажмите Save Changes и проверьте в разделе Здоровье сайта, что новое значение применилось.
Для большинства сайтов 256M вполне достаточно. Крупному магазину может понадобиться больше, но не выше лимита PHP.
Почему не сработало
- Строка добавлена в самый конец файла, после подключения
wp-settings.php. Такие строки WordPress не читает. - Константа уже есть в файле выше. Найдите её поиском и измените существующую строку, а не добавляйте вторую.
- Текст скопирован из Word или мессенджера, и прямые апострофы заменились типографскими. Наберите кавычки вручную.
- Значение больше, чем memory_limit в PHP.
Полезно знать
Для админки WordPress использует отдельную константу WP_MAX_MEMORY_LIMIT (по умолчанию 256M). Её имеет смысл менять, только если ошибка появляется исключительно в wp-admin.
Увеличение лимита PHP не добавляет аккаунту оперативной памяти: общий объём RAM задан тарифом хостинга. Если ошибка возвращается снова и снова, скорее всего, какой-то плагин расходует память без меры. Найти его поможет журнал ошибок, см. Как читать error_log и отключить плагин, который вызывает ошибку.