WP_MEMORY_LIMIT nu funcționează în wp-config
Vreau să setez WP_MEMORY_LIMIT pentru site-ul meu WordPress. Folosesc hosting partajat și CPanel. Am acces să modific limitele de memorie pe host. Am atașat o imagine relevantă mai jos:
Am verificat limita maximă de memorie pe host folosind un fișier PHP și phpinfo();
și este setată la 512M.
Problema mea este legată de setarea WP_MEMORY_LIMIT
în fișierul wp-config.php
. Am adăugat aceste linii de cod pentru a defini constantele în WordPress:
Am folosit pluginul "Server IP & Memory Usage Display" care afișează limita de memorie WP și limita maximă în partea de jos a fiecărei pagini din panoul de administrare. Ciudat este că WP Max Memory Limit este 512M, dar WP Memory Limit rămâne 40M.
Am căutat soluții pe forumurile Stack Overflow și am aflat că ar trebui să modific default-constants.php
din directorul wp-includes.
// Definire limite memorie
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' );
}
}
Am modificat fișierul și funcționează corect, dar nu este o soluție bună pentru că la fiecare actualizare WordPress, se va reseta la 40M și va trebui să-l modific manual din nou.
Cum pot rezolva această problemă? De ce nu se aplică setarea din wp-config?
Aceasta se datorează faptului că ar trebui să definiți cele de mai sus înainte de /* That's all, stop editing! Happy blogging. */
Ca în exemplul următor:
define('WP_MEMORY_LIMIT', '256M');
define('WP_MAX_MEMORY_LIMIT', '512M');
/* That's all, stop editing! Happy blogging. */

Doar definește WP_MEMORY_LIMIT în fișierul tău wp-config.php și setează-l la valoarea curentă a memory_limit din PHP:
define( 'WP_MEMORY_LIMIT', ini_get( 'memory_limit' ) );
Adaugă linia de mai sus imediat înainte de linia „/* That’s all, stop editing! Happy blogging. */“.
