PrestaShop en Plesk: cómo aumentar el límite de memoria PHP (memory_limit)
¿Tu tienda PrestaShop en Plesk te muestra errores como "Allowed memory size exhausted" o "Fatal error: Out of memory"? No te preocupes, es uno de los problemas más comunes al administrar una tienda online, sobre todo cuando instalas muchos módulos o tu catálogo crece. La buena noticia es que aumentar el memory_limit en un servidor con Plesk es un proceso muy sencillo si sabes dónde mirar.
En esta guía extensa y paso a paso, te voy a explicar exactamente cómo subir ese límite de memoria PHP para PrestaShop, qué valores son los recomendados y cómo evitar que el problema vuelva a aparecer. Olvídate de los tecnicismos, aquí lo explicamos todo como si fuera la primera vez.
¿Por qué PrestaShop necesita más memoria PHP?
Antes de ponernos manos a la obra, es importante que entiendas qué es eso del memory_limit y por qué tu tienda se queja.
El memory_limit es una directiva de PHP que controla la cantidad máxima de memoria (en megabytes) que un script puede consumir. Piensa en ello como el "plato" donde se sirve la comida. Si tu tienda tiene muchos productos, imágenes, módulos de caché o plugins de SEO, necesitará un plato más grande.
Cuando PrestaShop intenta realizar una tarea pesada (como generar un informe, procesar un CSV de productos o actualizar un módulo) y se queda sin espacio en ese "plato", el servidor detiene el proceso y te muestra un error feo en pantalla. Lo más habitual es ver algo así:
Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 4096 bytes)
Ese número (67.108.864 bytes) son 64 MB, que es el valor mínimo que trae Plesk por defecto. Para una tienda moderna, eso es claramente insuficiente.
Síntomas típicos de falta de memoria en PrestaShop
No solo verás el error fatal. A veces el problema se manifiesta de otras formas más sutiles:
- El panel de administración va muy lento o se queda en blanco.
- Al guardar un producto, la página se queda cargando y al final da error 500.
- Las imágenes de los productos no se regeneran al cambiar el tamaño.
- El carrito de compras no se actualiza correctamente.
- Algunos módulos dejan de funcionar sin razón aparente.
Si identificas cualquiera de estos síntomas, el primer paso (y el más barato) es aumentar el memory_limit.
Cuánta memoria necesito para PrestaShop
No hay una respuesta única, pero sí hay un estándar recomendado por la comunidad y por los desarrolladores de PrestaShop.
Para una tienda pequeña o mediana, te recomiendo un mínimo de 256 MB. Para tiendas grandes con muchos módulos o catálogos extensos, lo ideal es 512 MB o incluso 1 GB si tienes un servidor dedicado con recursos de sobra.
Mi consejo personal: empieza con 256 MB y si sigues viendo errores, sube a 512 MB. No te pases de la cuenta, porque asignar demasiada memoria a PHP puede dejar al servidor sin recursos para otras tareas como MySQL o el propio panel de Plesk.
Cómo aumentar memory_limit en Plesk (Método Fácil)
Plesk tiene una interfaz muy amigable que nos permite cambiar estos parámetros sin tocar archivos de configuración directamente. Sigue estos pasos:
Paso 1 – Accede a tu panel de Plesk
Abre tu navegador y entra a tu panel de control. Normalmente es algo como https://tu-dominio.com:8443 o la IP de tu servidor. Inicia sesión con tu usuario administrador o el usuario de la suscripción que tenga la tienda.
Paso 2 – Busca la opción de PHP Settings
Una vez dentro, tienes que localizar tu dominio. En el menú principal verás una lista de tus sitios web. Haz clic en el dominio donde está instalada tu tienda PrestaShop.
Dentro de la página de configuración de ese dominio, busca en la sección de "PHP Settings" o "Configuración de PHP". Dependiendo de la versión de Plesk (Obsidian, Onyx, etc.) puede estar en un lugar ligeramente distinto, pero normalmente lo verás como un icono con el logotipo de PHP (una letra "p" en un círculo) o en el menú desplegable de "Aplicaciones".
Paso 3 – Localiza la directiva memory_limit
En la pantalla de configuración de PHP, verás una tabla o lista con muchas opciones. Busca la que dice memory_limit. Puedes usar el buscador del navegador (Ctrl+F) para encontrarla rápido.
Paso 4 – Cambia el valor
Haz clic en el valor actual (por defecto suele ser 128M o 64M) y cámbialo por el que necesites. Escribe 256M (sin espacios) o 512M según tu caso.
[TIP] Si tu servidor tiene mucha RAM (por ejemplo, 8 GB o más), puedes poner
1Gsin problema. Pero si es un VPS pequeño, quédate en 256M para no ahogar al sistema.
Paso 5 – Guarda los cambios
Después de cambiar el valor, desplázate hasta el final de la página y haz clic en el botón "Aplicar" o "Guardar". Plesk reiniciará PHP-FPM automáticamente (a veces tarda unos segundos) y listo.
Método alternativo: Aumentar memoria vía archivo .htaccess
¿No encuentras la opción en Plesk o tu versión es muy antigua? No pasa nada, hay un plan B. Puedes añadir una línea mágica en el archivo .htaccess de la raíz de tu PrestaShop.
Paso 1 – Accede al administrador de archivos
En Plesk, ve a tu dominio y busca el "Administrador de archivos" (File Manager). Es un icono que parece una carpeta.
Paso 2 – Navega a la raíz de PrestaShop
Dentro del administrador, entra en la carpeta httpdocs (o public_html, depende de la configuración). Ahí es donde están todos los archivos de tu tienda.
Paso 3 – Edita el .htaccess
Busca el archivo llamado .htaccess (¡ojo! empieza con un punto, así que puede estar oculto). Si no lo ves, activa la opción de "mostrar archivos ocultos" en la configuración del administrador de archivos.
Haz clic derecho sobre él y selecciona "Editar" o "Edit in Text Editor".
Paso 4 – Añade la línea mágica
Al principio del archivo (después de la línea que dice <?php si existe, o en la primera línea), añade esto:
php_value memory_limit 256M
Si tu servidor usa PHP como módulo de Apache, esto funcionará. Si usas PHP-FPM (lo más común en Plesk), puede que esta línea no tenga efecto y te dé un error 500. En ese caso, borra esa línea y mejor usa el método anterior (desde el panel de Plesk).
[WARNING] Si ves un error 500 después de añadir la línea, es que tu servidor no permite esa directiva en .htaccess. Elimínala inmediatamente y usa el primer método. No dejes esa línea porque romperá tu tienda.
Método avanzado: Editar el archivo php.ini
Si eres de los que prefieren tocar la configuración directamente y tienes acceso por SSH o al administrador de archivos, puedes editar el php.ini. Pero ojo, en Plesk esto se hace a nivel de dominio o de suscripción.
Localizando el php.ini correcto
Plesk suele crear un php.ini específico para cada dominio. La ruta típica es:
/var/www/vhosts/system/tu-dominio.com/etc/php.ini
Pero no te recomiendo editar ese archivo a mano si no sabes lo que haces, porque Plesk puede sobrescribirlo. Mejor usa la interfaz gráfica que vimos antes.
[INFO] Si usas la opción de "PHP Settings" en Plesk, estás editando exactamente ese archivo, pero de forma segura y sin riesgo de romper nada.
Errores comunes en PrestaShop por falta de memoria y cómo solucionarlos
Vamos a repasar los errores más típicos y cómo se relacionan con el memory_limit.
Error: "Allowed memory size of X bytes exhausted"
Este es el error clásico. Dice que un script intentó usar más memoria de la permitida. La solución es la que acabamos de ver: subir el límite.
Error: "Fatal error: Out of memory (allocated ...)" en el panel de administración
A veces el error aparece solo en el back-office (admin). Esto es porque el panel de administración de PrestaShop consume más recursos que la parte pública. Si te pasa, sube el límite a 512M directamente.
Error: "Cannot redeclare class" o "Cannot redeclare function"
Este error es más raro, pero puede aparecer si un módulo está mal codificado. No tiene que ver directamente con la memoria, pero a veces se manifiesta cuando PHP no puede cargar correctamente las clases por falta de recursos. Aumentar la memoria puede dar un respiro temporal, pero la solución real es desactivar o actualizar el módulo conflictivo.
Consejos de rendimiento para PrestaShop en Plesk
Aumentar la memoria es solo el primer paso. Si tu tienda sigue lenta, aquí tienes otros ajustes que puedes hacer en Plesk para mejorar el rendimiento:
Activa la caché de PrestaShop
En tu panel de administración de PrestaShop, ve a Parámetros avanzados -> Rendimiento. Activa la caché y elige un sistema de caché (por ejemplo, "Caché de archivos" si no tienes Memcached instalado).
Configura PHP-FPM correctamente
En Plesk, en la configuración de PHP de tu dominio, busca la opción de "PHP-FPM" o "Run PHP as". Asegúrate de que está configurado como FastCGI application o PHP-FPM con un número de procesos adecuado a tu servidor.
Aumenta el límite de ejecución (max_execution_time)
A veces no es la memoria, sino el tiempo. Si ves errores de "timeout", sube este valor en la misma pantalla de PHP Settings. Ponlo a 300 (5 minutos) para tareas pesadas.
Preguntas frecuentes (FAQ)
¿Cuál es el memory_limit recomendado para PrestaShop 8?
Para PrestaShop 8, el mínimo recomendado es 256 MB. Si usas muchos módulos de terceros, sube a 512 MB. No necesitas más a menos que tengas una tienda enorme.
¿Por qué sigo teniendo errores después de cambiar a 512M?
Porque quizás el problema no es solo la memoria. Revisa si tienes algún módulo con conflictos, si el servidor tiene poca RAM física o si hay algún error de permisos en los archivos de caché.
¿Puedo poner memory_limit a -1?
Sí, técnicamente -1 significa "sin límite". Pero NO lo hagas. Es peligroso porque un script malicioso o un error de código podría consumir toda la memoria del servidor y tumbar tu tienda y las de otros clientes si es un hosting compartido.
¿Dónde veo el valor actual de memory_limit?
Puedes crear un archivo llamado info.php en la raíz de tu web con el contenido <?php phpinfo(); ?>. Ábrelo en tu navegador y busca la sección "memory_limit". Bórralo después por seguridad.
Resumen rápido y final
Aumentar el memory_limit en PrestaShop alojado en Plesk es un proceso de 5 minutos que te puede ahorrar muchos dolores de cabeza. Recuerda:
- Ve a Plesk -> Dominio -> PHP Settings.
- Busca
memory_limit. - Cambia el valor a
256Mo512M. - Guarda y listo.
Si no tienes acceso a esa pantalla, usa el archivo .htaccess con la línea php_value memory_limit 256M (solo si tu servidor lo permite).
Y si quieres ir un paso más allá, activa la caché de PrestaShop y revisa la configuración de PHP-FPM.
Espero que esta guía te haya sido útil. Ahora ve y dale a tu tienda la memoria que necesita para funcionar como una bala. ¡Tu tienda (y tus clientes) te lo agradecerán!
