Introducción al Error Allowed Memory Size en Magento 2
Uno de los problemas más frecuentes a los que se enfrentan los desarrolladores y administradores de tiendas e-commerce es el error de límite de memoria excedido (Allowed memory size exhausted). Esto ocurre típicamente al ejecutar tareas pesadas en la línea de comandos como la compilación, la indexación o al generar la caché en Magento 2.
Causas Principales del Problema
Las causas más comunes de este fallo en Magento 2 incluyen:
- Un valor de
memory_limitinsuficiente en el archivophp.inipara las operaciones de la consola (CLI). - Módulos de terceros mal optimizados que consumen recursos excesivos de forma innecesaria.
- Procesos concurrentes pesados ejecutándose al mismo tiempo en el servidor.
Método 1: Aumentar el Límite de Memoria en la Línea de Comandos (CLI)
A menudo, el error ocurre al ejecutar comandos de bin/magento. Para solucionarlo de inmediato, puedes incrementar el límite de memoria directamente en la ejecución:
- Accede a tu servidor mediante SSH con tu usuario de permisos adecuados.
- Navega hasta la raíz de tu instalación de Magento 2.
- Ejecuta el comando agregando el parámetro de configuración de PHP:
php -d memory_limit=2G bin/magento setup:upgrade
Método 2: Modificar el Archivo php.ini de Forma Permanente
Para evitar que el error vuelva a aparecer, debes actualizar el archivo de configuración de PHP en tu servidor:
- Localiza tu archivo
php.ini(asegúrate de modificar tanto el de Apache/FPM como el de la CLI si son independientes). - Busca la directiva
memory_limit. - Cambia el valor actual (por ejemplo, 512M o 1024M) a un valor superior recomendado para Magento 2, como
2G:memory_limit = 2G - Guarda los cambios y reinicia tu servicio web (Apache o Nginx con PHP-FPM):
sudo systemctl restart php-fpm