Care este diferența dintre WP_MEMORY_LIMIT și WP_MAX_MEMORY_LIMIT?
Care este diferența dintre
define( 'WP_MEMORY_LIMIT', '96M' );
și
define( 'WP_MAX_MEMORY_LIMIT', '256M' );
La hostingul meu am aceasta
define( 'WP_MEMORY_LIMIT', '786M' );
define( 'WP_MAX_MEMORY_LIMIT', '512M' );
este corect acest lucru, ar trebui ca WP_MAX_MEMORY_LIMIT
să fie mai mare?
WordPress ne spune:
opțiunea WP_MEMORY_LIMIT vă permite să specificați cantitatea maximă de memorie care poate fi consumată de PHP. Această setare poate fi necesară în cazul în care primiți un mesaj precum „Allowed memory size of xxxxxx bytes exhausted” (Dimensiunea de memorie permisă de xxxxxx octeți a fost epuizată).
Sau, după cum se menționează în documentația PHP:
[O limită de memorie] ajută la prevenirea scripturilor prost scrise să consume toată memoria disponibilă pe un server.
WordPress Codex mai spune și acest lucru despre aceste constante:
Această setare [
WP_MEMORY_LIMIT
] crește memoria PHP doar pentru WordPress, nu și pentru alte aplicații. În mod implicit, WordPress va încerca să crească memoria alocată PHP la 40MB (codul se află la începutul fișierului /wp-includes/default-constants.php) pentru site-uri simple și 64MB pentru site-uri multisite, astfel încât setarea din wp-config.php ar trebui să reflecte o valoare mai mare decât 40MB sau 64MB, în funcție de configurația dumneavoastră.
Și acest lucru despre WP_MAX_MEMORY_LIMIT
în special:
Sarcinile de administrare necesită mult [mai multă] memorie decât operațiunile obișnuite. Când sunteți în zona de administrare, memoria poate fi crescută sau micșorată față de WP_MEMORY_LIMIT prin definirea WP_MAX_MEMORY_LIMIT.
Deci WP_MEMORY_LIMIT
este limita, iar WP_MAX_MEMORY_LIMIT
, dacă este setat, va suprascrie prima în panoul de administrare.
Acum, când întrebați „este corect”, nu există nicio modalitate de a vă spune cu certitudine.
Este posibil să doriți să creșteți aceste limite dacă site-ul dumneavoastră crește în număr de vizitatori și/sau plugin-uri active, dar dacă nu întâmpinați probleme, aș spune că sunteți în regulă pentru moment.
Dacă alegeți să creșteți limitele, am prezentat diferitele metode de a crește memoria PHP în acest răspuns. Rețineți partea finală despre faptul că gazda dumneavoastră poate limita această valoare.

Am observat că unul dintre site-urile mele a avut o problemă cu 'memory exhausted' în timpul unui proces Postie (plugin). S-a dovedit că aveam WP_MEMORY_LIMIT setat la 300M, dar nu exista nicio intrare pentru WP_MAX_MEMORY_LIMIT. Deoarece Postie funcționează la nivel de administrator, am adăugat WP_MAX_MEMORY_LIMIT la 300M în wp-config, iar eroarea de epuizare a memoriei a dispărut. Rezultatele pot varia în funcție de caz.

WP_MEMORY_LIMIT
este limita implicită setată pentru front-end, dar poate fi mărită până la WP_MAX_MEMORY_LIMIT
în paginile wp-admin, precum și pentru anumite alte funcții precum manipularea imaginilor.
Pe scurt, veți dori să setați WP_MEMORY_LIMIT
în principal pentru accesul pe front-end, într-un mod în care să nu consumați toată memoria atunci când mulți utilizatori accesează simultan serverul. Veți dori ca WP_MAX_MEMORY_LIMIT
să fie setat la o valoare mai mare pentru a permite funcțiilor de administrare, care au cerințe mai mari, dar cu o concurență mai mică.
