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

Introducción al error de límite de memoria en Magento 2

Uno de los problemas más frecuentes a los que nos enfrentamos los desarrolladores y administradores de tiendas en línea con Magento 2 es el temido mensaje de error relacionado con el consumo excesivo de memoria RAM (Allowed memory size exhausted). Este fallo suele interrumpir tareas críticas como la compilación de código, la indexación por línea de comandos (CLI) o incluso la navegación de los usuarios en el frontend.

Causas principales de la falta de memoria en Magento

Magento 2 es un sistema robusto basado en componentes que requiere una cantidad considerable de recursos del servidor para procesar inyecciones de dependencias, la caché y los plugins. Las causas más comunes incluyen:

  • Un valor de memory_limit en el archivo php.ini demasiado bajo para los estándares de Magento.
  • Ejecución de comandos de consola pesados como bin/magento setup:upgrade o bin/magento setup:di:compile.
  • Módulos de terceros mal optimizados que generan bucles de consumo de recursos.

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

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

  1. Accede a tu servidor mediante SSH o utiliza el panel de control de tu hosting (como cPanel).
  2. Localiza el archivo php.ini correspondiente a la versión de PHP que utiliza tu tienda Magento. Si usas CLI y web, es posible que existan dos archivos diferentes.
  3. Abre el archivo con un editor de texto y busca la directiva memory_limit. Modifica su valor a un mínimo recomendado de 2G o 4G: memory_limit = 2G
  4. Guarda los cambios y reinicia tu servidor web (Apache o Nginx) junto con el servicio PHP-FPM: sudo systemctl restart php-fpm

Método 2: Modificar el límite de memoria directamente en el comando CLI

Si el error ocurre exclusivamente cuando ejecutas tareas desde la terminal con el binario de Magento, puedes pasar el parámetro de memoria directamente en la ejecución sin alterar la configuración global del servidor.

Ejecuta tus comandos de la siguiente manera anteponiendo la directiva de PHP:

php -d memory_limit=4G bin/magento setup:upgrade
php -d memory_limit=4G bin/magento setup:di:compile

Esta es una excelente alternativa si compartes servidor y no deseas consumir 4GB de memoria de forma permanente para el tráfico web general.

Método 3: Ajustar el límite de memoria en el archivo .htaccess (Apache)

Si tu servidor utiliza Apache y no tienes acceso root para modificar el php.ini principal, puedes intentar sobrescribir el límite a través del archivo .htaccess ubicado en la raíz de tu instalación de Magento.

  1. Abre el archivo .htaccess en la raíz de Magento usando tu cliente FTP o administrador de archivos.
  2. Busca la sección de configuraciones 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 correctamente.
Anuncio
Seguir Leyendo

Guías y Soluciones Relacionadas

Windows Apps Juegos
Mac

Cómo Solucionar el Error de MacBook que No Carga la Batería de Forma Definitiva

Tu Mac está conectado a la corriente pero la batería no carga. Aprende a diagnosticar y solucionar este molesto problema de energía.

Leer guía completa →
Windows

Cómo Solucionar el Error Inaccessible Boot Device en Windows 10 y 11 Definitivamente

Aprende a resolver el frustrante error de pantalla azul Inaccessible Boot Device en Windows. Sigue nuestros métodos efectivos para recuperar el acceso a tu sistema.

Leer guía completa →
Juegos

Cómo Solucionar el Error de Falta MSVCP140.dll en Juegos de PC de Forma Definitiva

¿El juego no arranca por culpa del archivo MSVCP140.dll? Aprende a solucionar este error de dependencias de Visual C++ en pocos pasos.

Leer guía completa →