¿Qué es el Error Fatal Allowed Memory Size en PrestaShop?
El error Fatal error: Allowed memory size of X bytes exhausted es uno de los problemas más comunes a los que se enfrentan los administradores de tiendas online creadas con PrestaShop. Este fallo ocurre cuando un script PHP, ya sea al actualizar un módulo, generar el mapa del sitio (sitemap), o durante la carga pesada en el backoffice, excede la cantidad máxima de memoria RAM que el servidor le tiene asignada.
Causas Principales de la Falta de Memoria en PrestaShop
- Módulos mal optimizados o incompatibles que consumen demasiados recursos en segundo plano.
- Procesos pesados como la importación masiva de productos o la regeneración de imágenes.
- Una configuración predeterminada de PHP en el servidor con un límite de memoria insuficiente (por ejemplo, 128M o menos).
- Caché acumulada o logs excesivamente grandes que sobrecargan la ejecución del sistema.
Método 1: Modificar el límite de memoria en el archivo php.ini
La forma más definitiva de solucionar este problema es incrementar el parámetro memory_limit directamente en la configuración de PHP de tu servidor.
- Accede al panel de control de tu hosting (cPanel, Plesk, etc.) o mediante cliente FTP.
- Localiza el archivo
php.inien el directorio raíz de tu instalación de PrestaShop (si no existe, puedes crearlo). - Abre el archivo y busca la línea correspondiente a la memoria, o añádela si no está presente:
memory_limit = 512M - Guarda los cambios y reinicia los servicios de PHP si tu servidor lo requiere.
Método 2: Aumentar la memoria desde el archivo .htaccess
Si no tienes acceso directo al archivo php.ini, puedes intentar forzar el incremento del límite de memoria a través de las directivas de Apache en el archivo de configuración del sitio.
- Conéctate por FTP a tu servidor y busca el archivo
.htaccessen la raíz de PrestaShop. - Edita el archivo y añade la siguiente línea al principio o al final del documento:
php_value memory_limit 512M - Guarda el archivo y recarga tu tienda para comprobar si el error ha desaparecido.
Método 3: Definir el límite de memoria en el archivo defines.inc.php
PrestaShop permite forzar el límite de memoria a nivel de aplicación modificando uno de sus archivos de configuración interna.
- Navega a través de tu FTP o administrador de archivos hasta la ruta
config/defines.inc.php. - Abre el archivo en un editor de texto y busca una línea similar a la gestión de memoria o añade la siguiente instrucción PHP antes de la etiqueta de cierre:
@ini_set('memory_limit', '512M'); - Guarda los cambios y limpia la caché de PrestaShop desde el panel de administración o borrando manualmente la carpeta
var/cache.