В чем разница между WP_MEMORY_LIMIT и WP_MAX_MEMORY_LIMIT?
В чем разница между
define( 'WP_MEMORY_LIMIT', '96M' );
и
define( 'WP_MAX_MEMORY_LIMIT', '256M' );
На моем хостинге установлено следующее
define( 'WP_MEMORY_LIMIT', '786M' );
define( 'WP_MAX_MEMORY_LIMIT', '512M' );
это правильно, должен ли WP_MAX_MEMORY_LIMIT
быть выше?
WordPress сообщает нам:
Опция WP_MEMORY_LIMIT позволяет указать максимальный объем памяти, который может быть использован PHP. Эта настройка может понадобиться, если вы получили сообщение типа "Allowed memory size of xxxxxx bytes exhausted".
Или, как говорится в документации PHP:
[Лимит памяти] помогает предотвратить потребление всей доступной памяти сервера плохо написанными скриптами.
WordPress Codex также говорит об этих константах:
Эта настройка [
WP_MEMORY_LIMIT
] увеличивает память PHP только для WordPress, а не для других приложений. По умолчанию WordPress попытается увеличить выделенную PHP память до 40MB (код находится в начале /wp-includes/default-constants.php) для одиночного сайта и 64MB для мультисайта, поэтому настройка в wp-config.php должна отражать значение выше 40MB или 64MB в зависимости от вашей конфигурации.
И отдельно о WP_MAX_MEMORY_LIMIT
:
Административные задачи требуют гораздо [больше] памяти, чем обычная работа. В административной области память может быть увеличена или уменьшена относительно WP_MEMORY_LIMIT путем определения WP_MAX_MEMORY_LIMIT.
Таким образом, WP_MEMORY_LIMIT
— это лимит, а WP_MAX_MEMORY_LIMIT
, если он установлен, переопределит первый в админке.
Теперь, когда вы спрашиваете "правильно ли это", мы не можем дать вам однозначного ответа.
Возможно, вам стоит увеличить эти лимиты, если ваш сайт растет в плане посетителей и/или активных плагинов, но если у вас нет никаких проблем, я бы сказал, что пока все в порядке.
Если вы решите увеличить лимиты, я описал различные методы увеличения памяти PHP в этом ответе. Обратите внимание на последнюю часть о возможных ограничениях этого значения со стороны вашего хостинга.

Заметил, что на одном из моих сайтов возникла ошибка "memory exhausted" во время работы плагина Postie. Оказалось, что у меня был установлен WP_MEMORY_LIMIT в 300M, но не было записи для WP_MAX_MEMORY_LIMIT. Поскольку Postie работает на уровне админки, я добавил WP_MAX_MEMORY_LIMIT с тем же значением 300M в wp-config, и ошибка исчезла. Ваш опыт может отличаться.

WP_MEMORY_LIMIT
- это лимит по умолчанию, установленный для фронтенда, но он может быть увеличен до WP_MAX_MEMORY_LIMIT
в админ-панели WordPress, а также для некоторых других функций, таких как обработка изображений.
Короче говоря, вам нужно установить WP_MEMORY_LIMIT
в первую очередь для доступа через фронтенд, таким образом, чтобы не расходовать память при одновременном обращении множества пользователей к серверу. А WP_MAX_MEMORY_LIMIT
следует установить выше, чтобы разрешить выполнение административных функций, которые требуют больше ресурсов, но имеют меньшую конкурентность.
