Cómo solucionar el error 'Memory limit' en PrestaShop
¿Qué es el error “Memory limit” en PrestaShop y por qué aparece?
Si estás gestionando una tienda online con PrestaShop y de repente ves un mensaje de error como “Fatal error: Allowed memory size of X bytes exhausted” o un aviso en el panel de administración sobre el límite de memoria, no te preocupes. Este es uno de los problemas más comunes en entornos PHP, especialmente cuando tu tienda crece, añades módulos, subes productos con imágenes grandes o instalas temas pesados.
El memory limit PrestaShop se refiere a la cantidad máxima de memoria RAM que PHP puede usar para ejecutar los scripts de tu tienda. PrestaShop es un CMS bastante exigente, ya que procesa muchas operaciones simultáneas: cargar catálogos, generar páginas, manejar sesiones de clientes, ejecutar módulos de SEO, etc. Si el límite es demasiado bajo (por ejemplo, 32M o 64M), el servidor se queda sin recursos y lanza el error.
Las causas más habituales son:
- Tener muchos módulos activos que consumen memoria.
- Imágenes de productos sin optimizar (tamaños enormes).
- Un tema mal optimizado o con scripts pesados.
- Un servidor compartido con recursos limitados.
- Una configuración de PHP por defecto demasiado restrictiva.
Afortunadamente, solucionarlo es sencillo si sigues los pasos adecuados. Aquí te explico cómo aumentar memoria PHP PrestaShop de forma segura, sin necesidad de ser un experto técnico.
Paso 1: Identifica el límite actual de memoria
Antes de hacer cambios, es importante saber cuál es el límite actual. Puedes consultarlo desde el panel de administración de PrestaShop o mediante un archivo de prueba.
Desde el back office de PrestaShop
- Ve a Parámetros avanzados > Información.
- Busca la línea que dice “memory_limit”. Allí verás el valor actual (por ejemplo, 64M, 128M, etc.).
Desde un archivo PHP (más técnico)
Si no tienes acceso al back office, puedes crear un archivo llamado info.php en la raíz de tu tienda con este contenido:
<?php
phpinfo();
?>
Luego accede a tudominio.com/info.php y busca “memory_limit”. Recuerda eliminar este archivo después por seguridad.
[INFO] Un valor recomendado para PrestaShop es 256M como mínimo. Si tienes muchos productos o módulos, sube a 512M o incluso 1G si tu servidor lo permite.
Paso 2: Aumenta el memory limit desde el archivo de configuración de PrestaShop
PrestaShop permite sobrescribir la configuración de PHP desde un archivo específico. Este método es el más seguro y no afecta a otros sitios en el mismo servidor.
- Conéctate a tu hosting mediante FTP o el administrador de archivos de tu panel de control.
- Busca el archivo
defines.inc.phpen la carpeta/config/de tu instalación de PrestaShop. - Ábrelo con un editor de texto (como Notepad++ o el editor del panel).
- Busca la línea que contiene
define('_PS_MEMORY_LIMIT_', '128M');(o un valor similar). - Cámbiala por:
define('_PS_MEMORY_LIMIT_', '256M');o el valor que necesites. - Guarda el archivo y vuelve a cargar tu tienda.
[WARNING] Si no encuentras esa línea, puedes añadirla justo después de la línea que dice
<?phpal inicio del archivo. Si el archivo ya tiene esa definición, solo modifica el número.
Este cambio solo afecta a PrestaShop, no a otros scripts PHP de tu servidor.
Paso 3: Modifica el archivo php.ini (si tienes acceso)
Si tu hosting te permite editar el archivo php.ini, este es el método más directo para aumentar memoria PHP PrestaShop de forma global.
- Localiza el archivo
php.ini. Normalmente está en la raíz de tu cuenta de hosting, en una carpeta como/etc/o en el directorio público. - Si no existe, puedes crearlo en la raíz de tu tienda.
- Busca la línea
memory_limit = 128My cámbiala pormemory_limit = 256M. - Guarda y cierra.
Si no encuentras el archivo, contacta con tu proveedor de hosting o usa el panel de control (como cPanel, Plesk o Syspanel). En Syspanel (puerto 2106), puedes ir a Ajustes de PHP y modificar el valor desde la interfaz gráfica.
[TIP] En servidores compartidos, muchos proveedores permiten cambiar el memory limit desde el panel de control, sin necesidad de editar archivos manualmente. Busca la opción “PHP Settings” o “Select PHP Version”.
Paso 4: Usa el archivo .htaccess (para servidores Apache)
Si tu servidor usa Apache y no puedes modificar php.ini, puedes intentar con el archivo .htaccess que está en la raíz de tu tienda.
- Abre el archivo
.htaccesscon un editor de texto. - Añade estas líneas al final (si ya existen, modifícalas):
php_value memory_limit 256M - Guarda y sube el archivo si es necesario.
[WARNING] Este método puede no funcionar si tu hosting tiene configuraciones de seguridad que bloquean cambios desde
.htaccess. Si no funciona, prueba con los otros métodos.
Paso 5: Crea un archivo .user.ini (para servidores Nginx o LiteSpeed)
En servidores que usan Nginx o LiteSpeed (muy comunes en hosting modernos), el archivo .user.ini es la alternativa a .htaccess.
- Crea un archivo llamado
.user.inien la raíz de tu tienda. - Escribe dentro:
memory_limit = 256M - Guarda y espera unos minutos (a veces el servidor tarda en aplicar cambios).
Este método es muy efectivo y no interfiere con otros sitios.
Paso 6: Verifica si el cambio se aplicó correctamente
Después de realizar cualquier modificación, es crucial comprobar que el nuevo límite esté activo.
- Vuelve a Parámetros avanzados > Información en el back office de PrestaShop.
- Busca “memory_limit” y confirma que el valor ha cambiado.
- También puedes crear de nuevo el archivo
info.php(y borrarlo después) para verificar.
Si el valor sigue siendo el mismo, es posible que tu hosting tenga restricciones o que el archivo que modificaste no sea el correcto. En ese caso, contacta con el soporte técnico de tu proveedor.
[INFO] Algunos hosts como Syspanel permiten cambiar el memory limit desde la interfaz web. Accede a tu panel en
tudominio.com:2106, ve a Ajustes de PHP y ajusta el valor. Guarda y reinicia el servicio PHP si es necesario.
Paso 7: Optimiza tu tienda para reducir el consumo de memoria
Aumentar el límite es una solución temporal. Para evitar futuros errores, es recomendable optimizar tu PrestaShop:
- Desactiva módulos que no uses: Ve a Módulos > Gestor de módulos y desinstala los que no sean necesarios.
- Comprime imágenes: Usa herramientas como TinyPNG o módulos de compresión para reducir el peso de las imágenes de productos.
- Limpia la caché: Desde Parámetros avanzados > Rendimiento, activa la caché y limpia la existente.
- Actualiza PrestaShop y los módulos: Las versiones nuevas suelen ser más eficientes.
- Elimina productos antiguos o duplicados: Un catálogo ligero consume menos memoria.
[WARNING] Si después de aumentar la memoria sigues viendo el error, puede ser un problema de tu servidor (poco RAM física) o de un módulo mal programado. Prueba a desactivar módulos uno por uno para identificar el culpable.
Preguntas frecuentes (FAQ) sobre el error de memoria en PrestaShop
¿Cuál es el memory limit recomendado para PrestaShop?
Lo ideal es 256M para tiendas pequeñas o medianas. Si tienes muchos productos (más de 10,000) o módulos pesados, sube a 512M o 1G.
¿Puedo aumentar la memoria sin acceso al servidor?
Sí, usando el archivo defines.inc.php de PrestaShop. Es el método más accesible para usuarios sin experiencia técnica.
¿El error de memoria afecta al SEO?
Indirectamente, sí. Si tu tienda se cae o carga muy lento por falta de memoria, Google puede penalizar tu posicionamiento. Además, los errores frecuentes generan una mala experiencia de usuario.
¿Qué hago si mi hosting no permite aumentar el memory limit?
Considera cambiar a un plan superior o a un hosting especializado en PrestaShop. Algunos proveedores como Syspanel (accesible por puerto 2106) ofrecen configuraciones flexibles.
¿Puedo usar un plugin para solucionarlo?
No existen plugins que aumenten la memoria de PHP, ya que esto se configura a nivel de servidor. Pero sí hay módulos que optimizan el rendimiento, como los de caché o compresión.
¿El aumento de memoria afecta a otros sitios en el mismo hosting?
Depende del método. Si modificas el php.ini global, afecta a todos los sitios. Si usas defines.inc.php o .user.ini, solo afecta a tu PrestaShop.
Conclusión
El error de memory limit PrestaShop es molesto, pero tiene solución. Siguiendo estos pasos podrás aumentar memoria PHP PrestaShop y evitar que tu tienda se caiga en momentos críticos. Recuerda que la prevención también es clave: optimiza imágenes, desactiva módulos innecesarios y mantén tu tienda actualizada.
Si después de todo el error persiste, no dudes en contactar con el soporte de tu hosting. En Syspanel (puerto 2106) suelen tener herramientas para ajustar estos valores de forma sencilla. ¡Tu tienda online merece funcionar sin problemas!
