Introducción al Error de Límite de Memoria en PrestaShop
Uno de los problemas más frustrantes a los que se enfrentan los administradores de tiendas online es el temido mensaje Fatal error: Allowed memory size of X bytes exhausted. Este fallo ocurre cuando un script PHP, ya sea al actualizar un módulo, generar el mapa del sitio o procesar pedidos pesados, supera la cantidad máxima de RAM asignada en el servidor.
Causas Principales del Error Memory Size Exceeded
El consumo excesivo de memoria en PrestaShop suele estar provocado por:
- Ejecución de tareas pesadas en módulos mal optimizados o incompatibles.
- Procesos de importación masiva de productos o imágenes en el catálogo.
- Un valor de
memory_limiten la configuración de PHP demasiado bajo para los estándares actuales (por ejemplo, tener 128M en lugar de 256M o superior).
Método 1: Modificar el archivo php.ini en tu servidor
La forma más limpia y recomendada de solucionar este problema a nivel de servidor es incrementar el límite de memoria directamente en el archivo de configuración de PHP.
- Accede al panel de control de tu hosting (cPanel, Plesk, etc.) y abre el Administrador de Archivos.
- Navega hasta la carpeta raíz de tu instalación de PrestaShop.
- Busca un archivo llamado
php.ini. Si no existe, créalo en la raíz. - Añade la siguiente línea de código para ampliar el límite a 512 megabytes:
memory_limit = 512M - Guarda los cambios y recarga tu tienda PrestaShop.
Método 2: Editar el archivo .htaccess mediante FTP
Si tu proveedor de hosting no te permite modificar el archivo php.ini directamente, puedes forzar el aumento de memoria a través de las directivas de Apache en el archivo .htaccess.
- Conéctate a tu servidor mediante un cliente FTP o usa el explorador de archivos de tu hosting.
- Localiza el archivo
.htaccessen la carpeta principal de PrestaShop. - Descarga una copia de seguridad antes de editar.
- Abre el archivo con un editor de texto e inserta la siguiente línea al principio o al final del documento:
php_value memory_limit 512M - Guarda los cambios y comprueba si el error ha desaparecedo en tu backoffice y frontoffice.
Método 3: Ajustar el límite desde el archivo config/defines.inc.php
PrestaShop permite definir ciertos parámetros de depuración y rendimiento desde su propio código fuente. Aunque no es el método principal para la memoria RAM global, puede ayudar a mitigar errores en scripts internos.
- Entra por FTP a tu tienda y ve a la ruta
config/defines.inc.php. - Abre el archivo y busca líneas relacionadas con la gestión de memoria o errores.
- Añade la siguiente función de PHP justo después de la etiqueta de apertura
<?php:ini_set('memory_limit', '512M'); - Guarda el archivo y limpia la caché de PrestaShop para aplicar los cambios correctamente.