Ограничение памяти в WordPress

tl;dr: Значение, установленное вручную, или значения по умолчанию WP_MEMORY_LIMIT/WP_MAX_MEMORY_LIMIT не иметь никакого эффекта, если WP_MEMORY_LIMIT/WP_MAX_MEMORY_LIMIT меньше или равно лимиту памяти PHP (далее memory_limit называется) есть. Они используются для установки слишком низких значений memory_limit динамически до рекомендуемого минимума.


  • Постоянная WP_MEMORY_LIMIT можно по желанию в wp-config.php с участием define('WP_MEMORY_LIMIT', 'XXXM'); быть установлен.
  • Постоянная WP_MAX_MEMORY_LIMIT можно по желанию в wp-config.php с участием define('WP_MAX_MEMORY_LIMIT', 'XXXM'); быть установлен.
  • Является WP_MEMORY_LIMIT не установлено, применяется значение по умолчанию:
    • memory_limit, при условии, что стоимость memory_limit не может быть изменен динамически,
    • 64 МБ, если это мультисайт,
    • 40 МБ в противном случае.
  • Является WP_MAX_MEMORY_LIMIT не установлено, применяется значение по умолчанию:
    • memory_limit, при условии, что стоимость memory_limit не может быть изменен динамически или если он не ограничен (-1) или больше или равен 256 МБ,
    • 256 МБ иначе.
  • Значения по умолчанию поднимались снова и снова в прошлом.
  • WP_MEMORY_LIMIT изменено везде с помощью функции ini_set() динамичный memory_limit, если WP_MEMORY_LIMIT больше, чем текущий memory_limit или когда WP_MEMORY_LIMIT неограничен (-1).
  • WP_MAX_MEMORY_LIMIT изменено в бэкенде (точнее: всякий раз, когда функция wp_raise_memory_limit() вызывается в разных контекстах [admin, image]) с помощью функции ini_set() динамичный memory_limit, если WP_MAX_MEMORY_LIMIT больше, чем текущий memory_limit или когда WP_MAX_MEMORY_LIMIT неограничен (-1).
  • Логика WP_MAX_MEMORY_LIMIT работает после логика WP_MEMORY_LIMIT, так что WP_MEMORY_LIMIT во фронтенде и WP_MAX_MEMORY_LIMIT вступает в силу в бэкенде.
  • Большая часть логики, описанной выше, работает wp_initial_constants() (/wp-includes/default-constants.php) как в wp_raise_memory_limit() (/wp-includes/functions.php) вместо.
  • Значение memory_limit = XXXM в php.ini Определены memory_limit (после перезапуска веб-сервиса).
  • Значение php_value memory_limit XXXM в .htaccess Определены memory_limit для всех файлов PHP в папке или ее подпапке, в которой .htaccess расположен.
  • Веб-сервер может предотвратить изменение значения ограничения памяти с помощью ini_set() или превышение указанного значения (см. php_admin_value ).
  • memory_limit применяется к процессу: увеличение memory_limit Можно привести к уменьшению количества параллельных запросов PHP. Поэтому значение следует выбирать тщательно (256 МБ, в исключительных случаях 512 МБ).
  • В бэкэнде WordPress в разделе «Инструменты» > «Состояние веб-сайта» значения memory_limit (Раздел: Сервер), а также из WP_MEMORY_LIMIT а также WP_MAX_MEMORY_LIMIT (раздел константы WordPress) можно прочитать.
Назад