Qual è la differenza tra WP_MEMORY_LIMIT e WP_MAX_MEMORY_LIMIT?

15 giu 2017, 22:42:09
Visualizzazioni: 48.6K
Voti: 18

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?

0
Tutte le risposte alla domanda 2
1
17

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.

15 giu 2017 23:27:54
Commenti

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.

Rick Hellewell Rick Hellewell
9 gen 2018 20:44:43
1

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.

15 giu 2017 23:17:48
Commenti

Questa è una risposta quasi perfetta! Conciso e preciso. Se aggiungi alcuni riferimenti dal Codex ufficiale, sarebbe la risposta perfetta.

Alex Alex
1 apr 2024 22:00:04