Introducción al Error Allowed Memory Size Exhausted en PrestaShop
Uno de los errores más frustrantes a los que se enfrentan los administradores de tiendas online es el fallo Fatal error: Allowed memory size of X bytes exhausted en PrestaShop. Este problema suele aparecer de forma repentina al intentar acceder al panel de administración (Back Office), al actualizar un módulo pesado, o al generar el mapa del sitio (sitemap).
Causas Principales del Error de Memoria en PrestaShop
El origen de este problema está directamente relacionado con la configuración del servidor web y los recursos asignados a PHP:
- Límite de memoria insuficiente: El valor configurado en el archivo
php.inies demasiado bajo para las necesidades actuales de PrestaShop. - Módulos mal optimizados: Ciertos complementos de terceros consumen recursos excesivos durante su ejecución.
- Procesos pesados: Importaciones masivas de productos o la regeneración de imágenes en tiendas con catálogos muy extensos.
Método 1: Aumentar el Memory Limit en el archivo php.ini
La forma más limpia de solucionar este inconveniente es incrementando el límite de memoria a nivel de servidor:
- Accede al panel de control de tu hosting (cPanel, Plesk o similar) y abre el Administrador de Archivos.
- Navega hasta la carpeta raíz de tu instalación de PrestaShop.
- Busca el archivo
php.inio créalo si no existe. - Añade o modifica la siguiente línea con un valor adecuado (por ejemplo, 512M):
memory_limit = 512M - Guarda los cambios y recarga tu tienda para verificar que el error ha desaparecido.
Método 2: Modificar el archivo .htaccess
Si tu proveedor de hosting no permite modificar el archivo php.ini directamente, puedes intentar forzar el incremento de memoria mediante las directivas de Apache en el archivo .htaccess:
- Localiza el archivo
.htaccessen la raíz principal de tu PrestaShop. - Realiza una copia de seguridad antes de editar cualquier archivo crítico.
- Abre el archivo con un editor de texto y añade la siguiente directiva al principio o al final del documento:
php_value memory_limit 512M - Guarda los cambios y comprueba el funcionamiento tanto del Front Office como del Back Office.
Método 3: Editar el archivo settings.inc.php o defines.inc.php
En algunas versiones específicas de PrestaShop, es posible definir el límite de memoria directamente en los archivos de configuración del núcleo:
- Dirígete a la ruta
config/dentro de tu directorio de PrestaShop. - Abre el archivo
defines.inc.phpoconfig.inc.php. - Busca una línea similar a
ini_set('memory_limit', '128M');y aumenta el valor, por ejemplo:ini_set('memory_limit', '512M'); - Guarda los cambios y limpia la caché de PrestaShop para aplicar las mejoras correctamente.