Limită de memorie în WordPress

tl;dr: Valoarea setată manual sau valorile implicite ale WP_MEMORY_LIMIT/WP_MAX_MEMORY_LIMIT nu au niciun efect dacă WP_MEMORY_LIMIT/WP_MAX_MEMORY_LIMIT mai mică sau egală cu limita de memorie a PHP (în continuare memory_limit numit) este. Sunt folosite pentru a seta valori prea mici ale memory_limit dinamic la un minim recomandat.


  • Constanta WP_MEMORY_LIMIT poate opțional în wp-config.php cu define('WP_MEMORY_LIMIT', 'XXXM'); fi setat.
  • Constanta WP_MAX_MEMORY_LIMIT poate opțional în wp-config.php cu define('WP_MAX_MEMORY_LIMIT', 'XXXM'); fi setat.
  • Este WP_MEMORY_LIMIT nesetat, se aplică la valoarea sa implicită:
    • memory_limit, cu condiția valorii de memory_limit nu poate fi schimbat dinamic,
    • 64 MB dacă este un multisite,
    • 40 MB altfel.
  • Este WP_MAX_MEMORY_LIMIT nesetat, se aplică la valoarea sa implicită:
    • memory_limit, cu condiția valorii de memory_limit nu este modificabil dinamic sau dacă este nelimitat (-1) sau mai mare sau egal cu 256 MB,
    • 256 MB altfel.
  • Valorile implicite au fost crescute din nou și din nou în trecut.
  • WP_MEMORY_LIMIT schimbat peste tot folosind funcția ini_set() dinamic memory_limit, dacă WP_MEMORY_LIMIT mai mare decât cea actuală memory_limit sau când WP_MEMORY_LIMIT este nelimitat (-1).
  • WP_MAX_MEMORY_LIMIT schimbat în backend (mai precis: ori de câte ori funcția wp_raise_memory_limit() numit în contexte diferite [admin, imagine]) folosind funcția ini_set() dinamic memory_limit, dacă WP_MAX_MEMORY_LIMIT mai mare decât cea actuală memory_limit sau când WP_MAX_MEMORY_LIMIT este nelimitat (-1).
  • Logica lui WP_MAX_MEMORY_LIMIT aleargă după logica lui WP_MEMORY_LIMIT, astfel încât WP_MEMORY_LIMIT în frontend și WP_MAX_MEMORY_LIMIT are efect în backend.
  • O mare parte din logica descrisă mai sus este în funcțiune wp_initial_constants() (/wp-includes/default-constants.php) ca în wp_raise_memory_limit() (/wp-includes/functions.php) în loc de.
  • Valoarea memory_limit = XXXM în php.ini Sunt definite memory_limit (după repornirea serviciului web).
  • Valoarea php_value memory_limit XXXM în .htaccess Sunt definite memory_limit pentru toate fișierele PHP din folderul sau subdosarul său în care .htaccess situat.
  • Serverul web poate împiedica modificarea valorii limitei de memorie cu ini_set() sau depășirea unei valori specificate (vezi php_admin_value ).
  • memory_limit se aplică pe proces: O creștere de memory_limit poate sa determină scăderea numărului de solicitări PHP paralele. Prin urmare, valoarea trebuie aleasă cu grijă (256 MB, în cazuri excepționale 512 MB).
  • În backend-ul WordPress, sub Instrumente > Starea site-ului, valorile memory_limit (Secțiunea: Server), precum și din WP_MEMORY_LIMIT și WP_MAX_MEMORY_LIMIT (secțiunea Constante WordPress) poate fi citită.
Înapoi