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) можна прочитати.