Cómo Solucionar el Error 'Allowed Memory Size Exhausted' en Magento 2 de Forma Definitiva

Cómo Solucionar el Error 'Allowed Memory Size Exhausted' en Magento 2 de Forma Definitiva
Anuncio relacionado

¿Qué es y por qué se produce el error de memoria en Magento 2?

Uno de los problemas más frustrantes para los administradores de tiendas e-commerce es el mensaje Fatal error: Allowed memory size of X bytes exhausted en Magento 2. Este fallo ocurre cuando un script PHP, ya sea durante la compilación, la indexación o la ejecución de un módulo, intenta consumir más recursos de los que tiene asignados en el servidor.

Causas principales del error Allowed Memory Size Exhausted

Las razones más comunes por las que Magento 2 se queda sin memoria RAM incluyen:

  • Un límite de memoria PHP demasiado bajo configurado en el archivo php.ini.
  • Procesos pesados como la reindexación masiva o la compilación de dependencias (setup:di:compile).
  • Extensiones o temas mal optimizados que generan bucles o fugas de memoria.
  • Carga excesiva de datos en la memoria caché durante operaciones del backend.

Método 1: Aumentar el memory_limit en el archivo php.ini

La solución más directa es incrementar el límite de memoria asignado a PHP. Sigue estos pasos:

  1. Accede a tu servidor mediante SSH o utiliza el panel de control de tu hosting (cPanel o Plesk).
  2. Localiza el archivo php.ini correspondiente a la versión de PHP que utiliza tu tienda Magento (por ejemplo, /etc/php/8.1/fpm/php.ini).
  3. Busca la directiva memory_limit y cambia su valor a un mínimo recomendado de 2G o superior: memory_limit = 2G.
  4. Guarda los cambios y reinicia tu servidor web o servicio PHP-FPM ejecutando el comando: sudo systemctl restart php8.1-fpm.

Método 2: Modificar el límite de memoria directamente desde la línea de comandos (CLI)

Si necesitas ejecutar comandos de Magento como la compilación o la actualización y sigues experimentando cortes, puedes forzar un límite de memoria superior directamente en la terminal sin alterar el archivo global:

  1. Abre la terminal SSH y navega hasta la raíz de tu instalación de Magento.
  2. Ejecuta el comando de consola pasando el parámetro -d memory_limit. Por ejemplo, para compilar el código: php -d memory_limit=4G bin/magento setup:di:compile.
  3. Verifica que el proceso finalice correctamente sin arrojar excepciones de memoria agotada.

Método 3: Optimizar la configuración en archivos .htaccess (Servidores Apache)

Si tu servidor utiliza Apache y no tienes acceso root para modificar el php.ini principal, puedes intentar sobrescribir el valor mediante el archivo .htaccess ubicado en la raíz de Magento:

  1. Abre el archivo .htaccess con un editor de texto.
  2. Busca la sección correspondiente a los límites de PHP y añade la siguiente línea: php_value memory_limit 2G.
  3. Guarda el archivo y limpia la caché de tu tienda para aplicar los cambios.
Anuncio
Seguir Leyendo

Guías y Soluciones Relacionadas

Windows Apps Juegos
WordPress

Cómo Solucionar el Error al Establecer una Conexión con la Base de Datos en WordPress

El error al establecer una conexión con la base de datos deja tu web inaccesible. Descubre cómo solucionarlo rápidamente.

Leer guía completa →
Magento

Cómo Solucionar el Error de Indexación en Magento 2 de Forma Definitiva

Descubre por qué se bloquean los indexadores en Magento 2 y cómo puedes resolverlo mediante comandos CLI y ajustes de base de datos.

Leer guía completa →
Apps

Cómo Solucionar el Error de Sincronización en OneDrive de Forma Definitiva

¿Tus archivos de OneDrive no se sincronizan correctamente? Aprende los mejores métodos para solucionar este molesto problema en pocos minutos.

Leer guía completa →