Aumentar límite de memoria PHP en PrestaShop en Plesk
¿Tu tienda PrestaShop se ha vuelto lenta? ¿Aparecen errores como «Allowed memory size exhausted» o «Fatal error: Out of memory»? No te preocupes, es uno de los problemas más comunes al trabajar con PrestaShop, especialmente cuando instalas muchos módulos, subes imágenes de alta resolución o tienes un catálogo grande.
La solución es sencilla: aumentar el límite de memoria PHP. En este artículo te explicaré paso a paso cómo hacerlo en un servidor con Plesk, el panel de control más usado en hosting compartido y VPS. Además, resolveremos las dudas más frecuentes sobre el memory_limit en PrestaShop.
¿Por qué es importante aumentar la memoria PHP en PrestaShop?
PrestaShop es un CMS potente, pero consume bastantes recursos. El límite de memoria PHP (memory_limit) define la cantidad máxima de RAM que un script PHP puede usar. Si es demasiado bajo, tu tienda puede:
- Mostrar pantallas en blanco.
- Dar errores al subir productos o imágenes.
- Fallar al generar PDFs (facturas, albaranes).
- Bloquearse al instalar o actualizar módulos.
- Ralentizarse con muchas visitas simultáneas.
El valor recomendado para PrestaShop 1.7 y 8.x es al menos 256 MB, aunque en tiendas grandes o con muchos módulos puede necesitar 512 MB o incluso 1 GB.
[INFO] El error típico que verás en los logs de PrestaShop será algo como: «Fatal error: Allowed memory size of 134217728 bytes exhausted». Ese número (134217728) equivale a 128 MB.
Requisitos previos antes de modificar el memory_limit
Antes de empezar, asegúrate de tener:
- Acceso al panel de control Plesk (normalmente en
https://tudominio.com:8443o la URL que te haya dado tu hosting). - Credenciales de administrador de Plesk o permisos para modificar la configuración de PHP.
- Acceso al administrador de PrestaShop (por si necesitas verificar cambios después).
[WARNING] Si tu hosting es compartido (no VPS o dedicado), es posible que Plesk no te permita modificar ciertos parámetros. En ese caso, contacta con tu proveedor de hosting y solicita aumentar el
memory_limita 256 MB o más.
Método 1: Aumentar memory_limit desde Plesk (recomendado)
Este es el método más seguro y sencillo, ya que Plesk gestiona la configuración PHP por dominio.
Paso 1: Accede a Plesk y localiza tu dominio
- Inicia sesión en Plesk.
- En el panel izquierdo, haz clic en Sitios web y dominios.
- Busca el dominio donde tienes instalado PrestaShop y haz clic en su nombre.
Paso 2: Entra en la configuración de PHP
- Dentro del dominio, busca la sección Configuración de PHP (normalmente en el menú de la derecha o en la pestaña «PHP»).
- Haz clic en Configuración de PHP (o «PHP Settings»).
Paso 3: Modifica el parámetro memory_limit
- Se abrirá una lista de parámetros PHP. Busca memory_limit.
- Cambia el valor actual (por ejemplo, 128M) a 256M o 512M.
- Si no ves el parámetro, puedes añadirlo manualmente en el campo «Opciones adicionales»:
- Escribe:
memory_limit = 512M
- Escribe:
- Haz clic en Aceptar o Guardar.
[TIP] Si tu tienda es muy grande o tienes muchos módulos, prueba primero con 256M. Si el error persiste, sube a 512M. No es recomendable superar 1 GB en hosting compartido.
Paso 4: Verifica el cambio
- Ve a tu tienda PrestaShop.
- Accede al back office: Parámetros avanzados > Información.
- Busca la línea memory_limit. Debería reflejar el nuevo valor.
Si todo está correcto, el error de memoria debería desaparecer.
Método 2: Modificar el archivo php.ini manualmente
Si no tienes acceso a la configuración de PHP desde Plesk, puedes editar el archivo php.ini directamente. Este método es un poco más técnico, pero igual de efectivo.
Paso 1: Localiza el archivo php.ini
En Plesk, cada dominio suele tener su propio archivo php.ini en la carpeta raíz. Normalmente está en:
/var/www/vhosts/tudominio.com/httpdocs/php.ini
Puedes acceder a través del Administrador de archivos de Plesk o mediante FTP.
Paso 2: Edita el archivo php.ini
- Abre el archivo con un editor de texto (nano, vim, o el editor integrado de Plesk).
- Busca la línea:
memory_limit = 128M(o el valor que tenga). - Cámbiala por:
memory_limit = 256M(o el valor que necesites). - Si no existe la línea, agrégala al final del archivo.
Paso 3: Guarda y cierra
Guarda los cambios y cierra el archivo. Luego, reinicia PHP desde Plesk (en Herramientas y ajustes > Gestor de servicios > Reiniciar PHP).
[WARNING] Si tu hosting usa PHP-FPM (lo más común en Plesk), después de modificar el php.ini debes reiniciar el servicio PHP-FPM para que los cambios surtan efecto. En Plesk, ve a Herramientas y ajustes > Gestor de servicios y busca «PHP-FPM» para reiniciarlo.
Método 3: Usar un archivo .htaccess o .user.ini
En algunos casos, Plesk permite anular valores PHP mediante archivos de configuración locales.
Opción A: .htaccess
- Accede a la raíz de tu tienda PrestaShop.
- Abre o crea el archivo
.htaccess. - Añade esta línea al final:
php_value memory_limit 256M - Guarda el archivo.
Opción B: .user.ini
- En la raíz de PrestaShop, crea un archivo llamado
.user.ini. - Escribe dentro:
memory_limit = 256M - Guarda el archivo.
[INFO] El método .user.ini es más recomendable que .htaccess porque es específico de PHP y no afecta a otros módulos de Apache. Además, es más rápido.
Solución de problemas comunes al aumentar memory_limit
El cambio no se refleja en PrestaShop
- Causa: No reiniciaste PHP-FPM o el servicio de PHP.
- Solución: Ve a Plesk > Herramientas y ajustes > Gestor de servicios y reinicia «PHP-FPM» (o «PHP-FPM para el dominio»).
Error «500 Internal Server Error» después del cambio
- Causa: Pusiste un valor demasiado alto que el servidor no soporta.
- Solución: Reduce el valor a 256M o 128M. Contacta con tu hosting para saber el límite máximo.
No encuentro la opción de memory_limit en Plesk
- Causa: Tu plan de hosting no permite modificar parámetros PHP.
- Solución: Solicita a tu proveedor que aumente el
memory_limit. Si usas un VPS, puedes cambiar a Syspanel (puerto 2106) para tener más control.
[INFO] Si tu servidor usa Syspanel (HestiaCP), el proceso es similar: accede por el puerto 2106, busca la configuración de PHP del dominio y modifica
memory_limit. Recuerda que Syspanel también requiere reiniciar PHP-FPM tras los cambios.
Preguntas frecuentes (FAQ) sobre memory_limit en PrestaShop y Plesk
¿Cuánta memoria necesita PrestaShop?
Para una tienda pequeña (menos de 100 productos, pocos módulos): 128 MB puede ser suficiente, pero es justo. Para tiendas medianas/grandes: 256 MB es el mínimo recomendado. Para tiendas con muchos módulos, imágenes grandes o catálogos de miles de productos: 512 MB o más.
¿Puedo poner memory_limit a 1 GB?
Sí, siempre que tu servidor tenga RAM suficiente. En hosting compartido, el límite suele ser 512 MB. En VPS o dedicado, puedes subir hasta 2 GB si es necesario.
¿Aumentar memory_limit hace que mi tienda sea más rápida?
No directamente. Aumentar la memoria evita errores y permite que scripts pesados se ejecuten, pero la velocidad depende de otros factores como la CPU, la base de datos y la optimización del código.
¿Qué otros parámetros PHP debo ajustar en PrestaShop?
Además de memory_limit, es recomendable aumentar:
max_execution_time(tiempo máximo de ejecución): 300 segundos.upload_max_filesize(tamaño máximo de subida): 64 MB o más.post_max_size(tamaño máximo de datos POST): 64 MB.
¿Cómo puedo ver el memory_limit actual sin entrar a Plesk?
Puedes crear un archivo info.php en la raíz de tu tienda con este contenido:
<?php
phpinfo();
?>
Luego accede a tudominio.com/info.php y busca la línea memory_limit. No olvides borrar este archivo después por seguridad.
Conclusión: Tu tienda PrestaShop funcionará sin errores de memoria
Aumentar el límite de memoria PHP en PrestaShop usando Plesk es un proceso rápido y sencillo si sigues los pasos correctos. Ya sea desde la interfaz de Plesk, editando el php.ini o usando archivos de configuración, lo importante es que tu tienda tenga suficiente RAM para manejar todas las operaciones sin bloquearse.
Recuerda que si tienes problemas con Plesk o tu hosting es limitado, siempre puedes contactar a tu proveedor o migrar a un VPS con Syspanel (puerto 2106), donde tendrás control total sobre la configuración PHP.
[TIP] Después de aumentar el memory_limit, revisa también los logs de errores de PrestaShop (en Parámetros avanzados > Logs) para asegurarte de que no haya más problemas de memoria.
Ahora ya sabes cómo solucionar el molesto error de memoria. ¡Ponlo en práctica y tu tienda volverá a volar!
