WP_MEMORY_LIMIT non funziona in wp-config
Voglio impostare WP_MEMORY_LIMIT per il mio sito WordPress. Uso un hosting condiviso con CPanel. Ho accesso per modificare parametri come il limite massimo di memoria sul mio host. Ho allegato un'immagine correlata qui sotto per riferimento:
Ho verificato il limite massimo di memoria sull'host usando un file PHP e phpinfo();
ed è impostato a 512M.
Il mio problema riguarda l'impostazione di WP_MEMORY_LIMIT
nel file wp-config.php
. Ho aggiunto queste righe di codice per definire le costanti in WordPress:
Ho utilizzato il plugin "Server IP & Memory Usage Display" che mostra il limite di memoria WP e il limite massimo di memoria WP in fondo a ogni pagina del pannello di amministrazione. La cosa strana è che WP Max Memory limit è 512M ma WP Memory limit è ancora a 40M.
Ho cercato soluzioni nei forum di stack-overflow e ho scoperto che dovrei modificarlo da default-constants.php
nella directory wp-includes.
// Definire i limiti di memoria
if ( ! defined( 'WP_MEMORY_LIMIT' ) ) {
if ( false === wp_is_ini_value_changeable( 'memory_limit' ) ) {
define( 'WP_MEMORY_LIMIT', $current_limit );
} elseif ( is_multisite() ) {
define( 'WP_MEMORY_LIMIT', '64M' );
} else {
define( 'WP_MEMORY_LIMIT', '40M' );
}
}
if ( ! defined( 'WP_MAX_MEMORY_LIMIT' ) ) {
if ( false === wp_is_ini_value_changeable( 'memory_limit' ) ) {
define( 'WP_MAX_MEMORY_LIMIT', $current_limit );
} elseif ( -1 === $current_limit_int || $current_limit_int > 268435456 /* = 256M */ ) {
define( 'WP_MAX_MEMORY_LIMIT', $current_limit );
} else {
define( 'WP_MAX_MEMORY_LIMIT', '256M' );
}
}
L'ho modificato e funziona correttamente, ma non è il modo giusto perché ogni volta che aggiorno WordPress, torna a 40M e devo modificarlo manualmente di nuovo da default-constants.php
.
Quindi, come posso risolvere questo problema? Perché non viene applicato e non funziona in wp-config?
Basta definire WP_MEMORY_LIMIT nel tuo file wp-config.php e impostarlo con il valore corrente di memory_limit di PHP:
define( 'WP_MEMORY_LIMIT', ini_get( 'memory_limit' ) );
Aggiungi la riga sopra appena prima della riga "/* That’s all, stop editing! Happy blogging. */".
