Qual è la differenza tra WP_MEMORY_LIMIT e WP_MAX_MEMORY_LIMIT?
Qual è la differenza tra
define( 'WP_MEMORY_LIMIT', '96M' );
e
define( 'WP_MAX_MEMORY_LIMIT', '256M' );
Nel mio host ho questo
define( 'WP_MEMORY_LIMIT', '786M' );
define( 'WP_MAX_MEMORY_LIMIT', '512M' );
è corretto questo, dovrebbe essere più alto il WP_MAX_MEMORY_LIMIT
?
WordPress ci dice:
l'opzione WP_MEMORY_LIMIT consente di specificare la quantità massima di memoria che può essere consumata da PHP. Questa impostazione può essere necessaria nel caso in cui riceviate un messaggio come "Dimensione memoria consentita di xxxxxx byte esaurita".
O come la documentazione PHP lo descrive
[Un limite di memoria] aiuta a prevenire che script scritti male consumino tutta la memoria disponibile su un server.
Anche il WordPress Codex dice questo riguardo a queste costanti:
Questa impostazione [
WP_MEMORY_LIMIT
] aumenta la memoria PHP solo per WordPress, non per altre applicazioni. Di default, WordPress tenterà di aumentare la memoria allocata a PHP a 40MB (il codice si trova all'inizio di /wp-includes/default-constants.php) per installazioni singole e 64MB per multisito, quindi l'impostazione in wp-config.php dovrebbe riflettere un valore superiore a 40MB o 64MB a seconda della vostra configurazione.
E questo riguardo a WP_MAX_MEMORY_LIMIT
nello specifico:
Le operazioni di amministrazione richiedono molta [più] memoria rispetto alle operazioni usuali. Quando ci si trova nell'area di amministrazione, la memoria può essere aumentata o diminuita rispetto a WP_MEMORY_LIMIT definendo WP_MAX_MEMORY_LIMIT.
Quindi WP_MEMORY_LIMIT
è il limite e WP_MAX_MEMORY_LIMIT
, se impostato, sovrascriverà il primo nell'area di amministrazione.
Ora, quando chiedi "se questo è corretto", non c'è modo per noi di dirtelo in modo definitivo.
Potresti voler aumentare questi limiti se il tuo sito sta crescendo in visitatori e/o plugin attivi, ma se non stai riscontrando alcun problema direi che per ora va bene così.
Se scegli di aumentare i limiti, ho delineato i diversi metodi per incrementare la memoria PHP in questa risposta. Nota l'ultima parte riguardo al fatto che il tuo host potrebbe limitare questo valore.

Ho notato che uno dei miei siti aveva un problema di 'memory exhausted' durante un processo di Postie (plugin). Scopro che avevo WP_MEMORY_LIMIT impostato a 300M, ma nessuna voce per WP_MAX_MEMORY_LIMIT. Dato che Postie opera a livello di amministrazione, ho aggiunto WP_MAX_MEMORY_LIMIT a 300M nel wp-config, e l'errore di esaurimento memoria è scomparso. Potrebbe non essere lo stesso nel tuo caso.

Il WP_MEMORY_LIMIT
è il limite predefinito impostato per il front-end, ma può essere aumentato fino a WP_MAX_MEMORY_LIMIT
nelle pagine di amministrazione wp-admin, così come per alcune altre funzioni come la manipolazione delle immagini.
In sintesi, è consigliabile impostare principalmente il WP_MEMORY_LIMIT
per l'accesso front-end, in modo da non esaurire la memoria quando molti utenti accedono contemporaneamente al server. Si dovrebbe invece impostare un WP_MAX_MEMORY_LIMIT
più alto per consentire le funzioni di amministrazione che hanno requisiti più elevati, ma con una concorrenza inferiore.
