Esto puede darte muchos quebraderos de cabeza, más que nada por la poca documentación que existe al respecto y la multitud de sitios dónde se puede tocar para limitar la memoria asignada a PHP.
En primer lugar diremos que el servicio Apache es el encargado de asignar la memoria al módulo PHP con lo que el Servicio debe estar configurado para su límite sea superior siempre, normalmente la asignación de memoria es de 128Mb o 256Mb con lo que normalmente el problema no está en la asignación del Apache.
Luego entonces nos centramos en la configuración del wordpress. Aquí encontraremos multitud de documentación incluso recomendaciones del propio woocommerce que no hacen otra cosa que evidenciar su desconocimiento del wordpress. Nos dicen que toquemos el htaccess. o que toquemos el wp-config.php o que creemos un fichero llamado php.ini con una línea de asignación de memoria.
Bien, nada de esto funciona puesto que nuestro querido y desconocido wp-includes/default-constants.php contiene las siguientes líneas:
// set memory limits
if ( !defined(‘WP_MEMORY_LIMIT’) ) {
if( is_multisite() ) {
define(‘WP_MEMORY_LIMIT’, ’64M’);
} else {
define(‘WP_MEMORY_LIMIT’, ’40M’);
}
}
if ( ! defined( ‘WP_MAX_MEMORY_LIMIT’ ) ) {
define( ‘WP_MAX_MEMORY_LIMIT’, ‘256M’ );
}
/**
Limitando nuestra memoria a 40Mb
Bien, pues como podéis imaginar tan solo tenéis que aumentar la línea define(‘WP_MEMORY_LIMIT’, ’40M’); para poner los 64M recomendados y listo.
Espero que os haya servido y no estéis como yo horas y horas leyendo documentación que sin ser inútil porque aprendes otras cosas sobre Apache y WordPress no sirven sin tener todos los factores que influyen en la asignación de memoria.
Tomad este documento como complemento de los otros que hay a mogollón por internet, sed curiosos y sobre todo, ¡haced el maldito backup antes de trastear!.