WP_MEMORY_LIMIT no funciona en wp-config - Solución WordPress
Quiero configurar WP_MEMORY_LIMIT para mi sitio WordPress. Uso un hosting compartido con CPanel. Tengo acceso para cambiar el límite de memoria máxima en mi host. Adjunté una imagen relacionada que pueden ver:
Verifiqué el límite máximo de memoria en el host mediante un archivo PHP y phpinfo();
y está configurado a 512M.
Mi problema está relacionado con configurar WP_MEMORY_LIMIT
en el archivo wp-config.php
. Añadí estas líneas de código para definir las constantes en WordPress:
He usado el plugin "Server IP & Memory Usage Display" que muestra el límite de memoria WP y el límite máximo de memoria WP al final de cada página del panel de administración. Lo extraño es que WP Max Memory Limit es 512M pero WP Memory Limit sigue siendo 40M.
Busqué en los foros de stack-overflow y encontré que debería cambiarlo en default-constants.php
dentro del directorio wp-includes.
// Definir límites de 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' );
}
}
Lo cambié y funciona correctamente, pero no es la forma adecuada porque cada vez que actualizo WordPress, volverá a 40M y tendré que cambiarlo manualmente otra vez en default-constants.php
.
¿Cómo puedo resolver este problema? ¿Por qué no se aplicó y funcionó en wp-config?
Simplemente define WP_MEMORY_LIMIT en tu archivo wp-config.php y asígnalo al memory_limit actual de PHP:
define( 'WP_MEMORY_LIMIT', ini_get( 'memory_limit' ) );
Agrega la línea anterior justo antes de la línea "/* ¡Eso es todo, deja de editar! Feliz blogging. */".
