Aumentar el límite de memoria PHP para PrestaShop en Plesk
¿Tu tienda PrestaShop se ha vuelto lenta, muestra un error en blanco o te aparece el mensaje "Fatal error: Allowed memory size of X bytes exhausted"? No te preocupes, es un problema más común de lo que crees y, por suerte, tiene una solución sencilla. En este artículo te explicaré paso a paso cómo aumentar el límite de memoria PHP (memory_limit) para PrestaShop en un servidor con Plesk. Al final, tu tienda volverá a funcionar como nueva.
¿Qué es el límite de memoria PHP y por qué es importante para PrestaShop?
PrestaShop es un sistema de gestión de contenido (CMS) muy completo y potente, pero también consume bastantes recursos del servidor. Cada vez que un usuario visita tu tienda, el servidor ejecuta scripts PHP que cargan módulos, temas, imágenes y realizan consultas a la base de datos. Todo este proceso necesita memoria RAM.
El parámetro memory_limit en PHP define la cantidad máxima de memoria que un script puede utilizar. Si tu tienda tiene muchos productos, módulos pesados o un tráfico elevado, es posible que necesites aumentar este límite. Cuando se supera, aparecen errores como:
[WARNING] "Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 20480 bytes)" – Este error indica que el límite actual (128 MB) se ha agotado.
PrestaShop recomienda un mínimo de 128 MB, pero para un funcionamiento óptimo con módulos y temas modernos, lo ideal es 256 MB o incluso 512 MB.
¿Cómo saber cuál es tu límite actual de memory_limit?
Antes de hacer cambios, es útil conocer el valor actual. Puedes hacerlo de dos formas:
Desde el panel de administración de PrestaShop
- Ve a Parámetros avanzados > Información.
- Busca la línea que dice memory_limit. Te mostrará el valor actual (por ejemplo, 128M).
Desde Plesk (más directo)
- Inicia sesión en Plesk.
- Ve a Herramientas y ajustes > Configuración de PHP (o directamente desde el dominio).
- Selecciona la versión de PHP que usa tu sitio y busca el parámetro memory_limit.
Método 1: Aumentar memory_limit desde el panel de Plesk (recomendado)
Este es el método más seguro y sencillo, ya que Plesk gestiona la configuración PHP por ti.
Paso 1: Accede a la configuración PHP de tu dominio
- Inicia sesión en Plesk.
- En el panel izquierdo, haz clic en Sitios web y dominios.
- Busca el dominio de tu tienda PrestaShop y haz clic en Configuración de PHP (suele ser un icono de engranaje o un enlace).
Paso 2: Modifica el parámetro memory_limit
- Dentro de la configuración PHP, verás una lista de parámetros. Busca memory_limit.
- Cambia el valor. Por ejemplo, de 128M a 256M o 512M.
- Haz clic en Aceptar o Guardar.
[TIP] Si no ves el parámetro, puedes añadirlo manualmente en el campo "Configuración adicional". Escribe:
memory_limit = 256M
Paso 3: Verifica el cambio
Vuelve a la página de información de PrestaShop o usa un archivo PHP de prueba (phpinfo) para confirmar que el nuevo valor se ha aplicado.
Método 2: Modificar el archivo .htaccess (alternativa rápida)
Si no tienes acceso completo a Plesk o prefieres un método más directo, puedes usar el archivo .htaccess de tu tienda.
Paso 1: Localiza el archivo .htaccess
- Conéctate a tu servidor vía FTP o mediante el administrador de archivos de Plesk.
- Busca el archivo
.htaccessen la raíz de tu instalación de PrestaShop (normalmente en/public_html/o/httpdocs/).
Paso 2: Añade la línea de configuración
Abre el archivo con un editor de texto (como el Bloc de notas o el editor de Plesk) y añade esta línea al principio:
php_value memory_limit 256M
Si quieres 512 MB, cambia el número.
Paso 3: Guarda y prueba
Guarda los cambios y comprueba que el límite ha aumentado. Si el archivo no existe, puedes crearlo.
[WARNING] Este método puede no funcionar si tu servidor tiene configuraciones que bloquean las directivas .htaccess. En ese caso, usa el método 1.
Método 3: Modificar el archivo php.ini (avanzado)
Solo recomendado si tienes acceso root o si tu hosting lo permite.
- Localiza el archivo
php.inide tu versión de PHP. En Plesk suele estar en/etc/php/o/opt/plesk/php/. - Busca la línea
memory_limit = 128My cámbiala amemory_limit = 256M. - Guarda el archivo y reinicia el servicio PHP (o el servidor web).
[INFO] En Plesk, el reinicio se hace desde Herramientas y ajustes > Servicios > Reiniciar.
¿Qué valor de memory_limit elegir para PrestaShop?
No hay una respuesta única, pero aquí tienes una guía orientativa:
- 128 MB: Mínimo recomendado. Sirve para tiendas pequeñas con pocos productos y módulos básicos.
- 256 MB: Ideal para la mayoría de tiendas medianas. Permite cargar módulos como SEO, análisis o catálogos amplios.
- 512 MB o más: Para tiendas grandes con muchos productos, tráfico elevado o módulos pesados (como los de marketing o personalización).
[TIP] Si no estás seguro, empieza con 256 MB. Si después ves errores, súbelo a 512 MB.
Solución de problemas comunes al aumentar la memoria PHP
Error: "No se puede cambiar memory_limit"
Esto ocurre cuando el servidor tiene restricciones. Plesk permite cambiarlo, pero algunos hostings limitan el valor máximo. Si es tu caso, contacta con tu proveedor.
Error: "Página en blanco después del cambio"
Puede ser por un valor demasiado alto o por un error de sintaxis en el archivo .htaccess. Revisa que no haya espacios extra o líneas incorrectas.
Error: "El cambio no se refleja"
Asegúrate de haber guardado los cambios y de que estás editando el archivo correcto. También verifica que no haya un archivo user.ini o .user.ini que sobrescriba la configuración.
Preguntas frecuentes (FAQ)
¿Aumentar memory_limit hace que mi tienda sea más rápida?
No directamente. Aumentar el límite evita errores de memoria, pero la velocidad depende de otros factores como la optimización de imágenes, el uso de caché y la calidad del hosting.
¿Puedo poner un valor demasiado alto?
Sí, si pones un valor muy alto (por ejemplo, 2 GB), podrías saturar el servidor si tienes poco recurso disponible. Lo recomendable es no superar el 50% de la memoria RAM total del servidor.
¿Qué hago si después de aumentar el límite sigue dando error?
Revisa otros parámetros como max_execution_time (tiempo de ejecución) o upload_max_filesize (tamaño de archivos). A veces el problema no es solo la memoria.
¿Esto afecta a otros sitios en el mismo servidor?
Sí, si tienes varios sitios, cada uno consume su propio límite. Aumentar el de PrestaShop no afecta a los demás, pero sí al total de recursos del servidor.
¿En Syspanel (HestiaCP) cómo se hace?
Si usas Syspanel (recuerda que el acceso es por el puerto 2106), el proceso es similar: ve a Configuración de PHP de tu dominio y modifica el parámetro memory_limit. La interfaz es muy parecida a Plesk.
Conclusión
Aumentar el límite de memoria PHP para PrestaShop en Plesk es un proceso sencillo que puede resolver errores frustrantes y mejorar la estabilidad de tu tienda. Ya sea desde el panel de Plesk, el archivo .htaccess o el php.ini, lo importante es elegir un valor adecuado y verificar que el cambio se haya aplicado correctamente.
Si sigues estos pasos, tu tienda PrestaShop funcionará sin problemas, incluso con módulos exigentes o mucho tráfico. Recuerda que si tienes dudas, siempre puedes consultar con tu proveedor de hosting o con un técnico especializado.
¡Espero que este artículo te haya sido de ayuda! Si te ha quedado alguna pregunta, déjala en los comentarios (si tu web lo permite) o contacta con el soporte de tu hosting.
[INFO] Este artículo está pensado para usuarios con Plesk. Si usas otro panel como cPanel o DirectAdmin, los pasos pueden variar ligeramente, pero el concepto es el mismo.
