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 mensaje de error fatal relacionado con el agotamiento de la memoria RAM asignada a PHP. Este fallo suele mostrarse como Fatal error: Allowed memory size of X bytes exhausted al intentar actualizar módulos, generar imágenes pesadas o durante el proceso de pago. Afortunadamente, tiene solución directa.
Causas Principales del Error Allowed Memory Size
Las razones más comunes por las que PrestaShop se queda sin memoria son:
- Ejecución de scripts pesados en módulos de terceros mal optimizados.
- Procesos de importación masiva de productos o actualización de la base de datos.
- Un valor de
memory_limitconfigurado demasiado bajo en el archivo de configuración del servidor PHP.
Método 1: Aumentar el Memory Limit en el archivo php.ini
El primer paso y el más recomendado es modificar directamente el archivo de configuración de PHP en tu alojamiento web (cPanel, Plesk o servidor VPS).
- Accede al panel de control de tu hosting y abre el Administrador de Archivos o conéctate vía FTP.
- Localiza la carpeta raíz de tu instalación de PrestaShop o la carpeta principal de tu dominio.
- Busca el archivo
php.ini(si no existe, puedes crearlo con un editor de texto plano). - Añade o modifica la siguiente línea con un valor superior, por ejemplo:
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 servidor utiliza Apache y no tienes acceso directo para modificar el php.ini global, puedes intentar forzar el límite de memoria a través del archivo de configuración del servidor web.
- Entra al Administrador de Archivos de tu hosting y localiza el archivo
.htaccessen la raíz de PrestaShop. - Edita el archivo y añade la siguiente directiva al inicio o final del mismo:
php_value memory_limit 512M - Guarda los cambios. Nota: Si al hacer esto tu web muestra un Error 500, significa que tu servidor no permite modificar esta variable desde el .htaccess y deberás revertir el cambio.
Método 3: Ajustar el límite desde el archivo defines.inc.php
PrestaShop permite definir ciertos parámetros a nivel de código interno. Puedes intentar forzar el uso de memoria para las operaciones del núcleo de la tienda.
- Navega hasta la ruta
config/defines.inc.phpen tu servidor. - Abre el archivo y busca la línea relacionada con el límite de memoria, o añade la siguiente instrucción antes de cerrar la etiqueta PHP:
@ini_set('memory_limit', '512M'); - Guarda el archivo y limpia la caché de PrestaShop desde el panel de administración o borrando manualmente el contenido de la carpeta
var/cache/.