¿Qué es el Error de Límite de Memoria PHP en PrestaShop?
El error de límite de memoria en PrestaShop ocurre cuando un script, módulo o proceso de importación consume más recursos de los asignados por el servidor web en el archivo de configuración de PHP (php.ini). Esto suele manifestarse como una pantalla blanca, un error 500 o un mensaje directo indicando que se ha agotado la memoria permitida.
Causas Principales del Agotamiento de Memoria
- Ejecución de scripts pesados durante la actualización de PrestaShop o módulos complejos.
- Importación masiva de productos, imágenes o combinaciones a través de archivos CSV.
- Falta de optimización en consultas SQL de módulos de terceros.
- Límite de memoria PHP configurado con un valor muy bajo por defecto en el servidor (por ejemplo, 128M o 256M).
Método 1: Aumentar el límite de memoria mediante el archivo .htaccess
Una de las formas más rápidas de solucionar este problema sin tocar los archivos de configuración globales del servidor es modificar el archivo .htaccess ubicado en la raíz de tu instalación de PrestaShop.
- Conéctate a tu servidor mediante un cliente FTP o el Administrador de Archivos de tu proveedor de hosting.
- Localiza el archivo
.htaccessen la carpeta raíz donde está instalado PrestaShop. - Edita el archivo y añade la siguiente línea al principio o al final del documento:
php_value memory_limit 512M- Guarda los cambios y recarga tu tienda en el navegador para comprobar si el error ha desaparecido.
Método 2: Modificar el archivo php.ini o .user.ini
Si tu servidor no permite modificar el límite de memoria a través de .htaccess (lo que suele generar un error 500 adicional), deberás ajustar el archivo php.ini o crear un archivo .user.ini.
- Accede al panel de control de tu hosting (cPanel, Plesk, etc.) y busca la herramienta "MultiPHP INI Editor" o accede por FTP a la raíz de PrestaShop.
- Busca la directiva
memory_limity cambia su valor actual (ej. 128M) por un valor superior, como512Mo1024M. - Si creas un archivo de texto llamado
.user.inien la raíz de tu tienda, añade la siguiente línea en su interior:
memory_limit = 512M- Guarda el archivo y limpia la caché de PrestaShop desde el panel de administración o eliminando la carpeta
var/cache/en versiones recientes.
Método 3: Contactar con el soporte técnico de tu Hosting
Si tras aplicar los métodos anteriores sigues experimentando problemas de memoria, es muy probable que tu plan de alojamiento web tenga restricciones estrictas impuestas por el proveedor o que el servidor esté utilizando una versión de PHP desactualizada.
- Abre un ticket de soporte con tu proveedor de hosting.
- Solicita amablemente que incrementen el parámetro
memory_limitde PHP a un mínimo de 512M para tu dominio. - Asegúrate de que tu tienda esté ejecutando una versión de PHP compatible y recomendada para tu versión de PrestaShop (como PHP 7.4, 8.1 u 8.2).