Cómo Solucionar el Error 'Allowed Memory Size Exhausted' en Magento 2 Paso a Paso

Cómo Solucionar el Error 'Allowed Memory Size Exhausted' en Magento 2 Paso a Paso
Anuncio relacionado

Introducción al Error de Límite de Memoria en Magento 2

Uno de los problemas más frustrantes a los que se enfrentan los administradores de tiendas e-commerce desarrolladas en Magento 2 es el temido error de límite de memoria, comúnmente mostrado como Fatal error: Allowed memory size of X bytes exhausted. Este fallo interrumpe procesos críticos como la compilación de código, la indexación o la carga del panel de administración.

Causas Principales del Agotamiento de Memoria en Magento

Magento es una plataforma robusta que consume una gran cantidad de recursos de servidor. Las causas más frecuentes de este error incluyen:

  • Un valor de memory_limit en el archivo php.ini inferior al recomendado por Adobe (generalmente se requieren al menos 2GB o 4GB).
  • Procesos pesados en segundo plano como la reindexación masiva o la actualización de módulos complejos.
  • Extensiones mal optimizadas que generan fugas de memoria durante la ejecución de consultas SQL o procesamiento de datos.

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 en tu servidor. Sigue estos pasos:

  1. Accede a tu servidor mediante SSH o utiliza el administrador de archivos de tu hosting.
  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 modifica su valor al menos a 2G o 4G:
    memory_limit = 4G
  4. Guarda los cambios y reinicia el servicio web de tu servidor ejecutando el siguiente comando en la terminal:
    sudo systemctl restart php8.1-fpm

Método 2: Modificar el límite de memoria en .htaccess (Servidores Apache)

Si tu servidor utiliza Apache y no tienes acceso directo al archivo php.ini global, puedes sobrescribir esta directiva desde el archivo de configuración del directorio raíz de tu Magento.

  1. Abre el archivo .htaccess ubicado en la raíz principal de tu instalación de Magento 2.
  2. Añade la siguiente línea de código al principio o dentro del bloque correspondiente a configuraciones de PHP:
    php_value memory_limit 4G
  3. Guarda el archivo y recarga tu tienda en el navegador para comprobar que el error ha desaparecido.

Método 3: Ajustar el límite de memoria específicamente para comandos CLI

A menudo, el error ocurre al ejecutar comandos de consola como bin/magento setup:upgrade o bin/magento indexer:reindex. Puedes forzar un mayor consumo de memoria exclusivamente para la línea de comandos ejecutando el script de PHP con el parámetro correspondiente:

  1. Abre tu terminal SSH y navega hasta el directorio raíz de Magento.
  2. Ejecuta el comando de consola incrementando el límite de memoria de la siguiente forma:
    php -d memory_limit=4G bin/magento setup:di:compile
  3. Verifica que el proceso finalice correctamente sin mostrar excepciones de memoria agotada.
Anuncio
Seguir Leyendo

Guías y Soluciones Relacionadas

Windows Apps Juegos
PrestaShop

Cómo Solucionar el Error 'Token Expired' en el Backoffice de PrestaShop de Forma Definitiva

¿Te saca PrestaShop del panel de administración con el mensaje Token Expired? Descubre por qué ocurre y cómo solucionarlo definitivamente.

Leer guía completa →
Linux

Cómo Solucionar el Error 'No space left on device' en Linux de Forma Definitiva

Soluciona el molesto error 'No space left on device' en sistemas Linux. Descubre cómo identificar archivos pesados y limpiar tu disco paso a paso.

Leer guía completa →
Desarrollo

Cómo Solucionar el Error CORS en Aplicaciones JavaScript Paso a Paso

Descubre por qué ocurre la política de mismo origen en los navegadores y cómo configurar correctamente tus servidores para evitar bloqueos CORS. Sigue nuestra guía práctica de desarrollo.

Leer guía completa →