Cómo aumentar la memoria PHP para PrestaShop en Plesk y DirectAdmin
¿Por qué PrestaShop necesita más memoria PHP?
Si tu tienda PrestaShop va lenta, da errores de página en blanco o te aparece el temido mensaje "Fatal error: Allowed memory size exhausted", el problema casi siempre es el mismo: el límite de memoria PHP es demasiado bajo.
PrestaShop es un software exigente. Cada módulo, tema y consulta a la base de datos consume recursos. Con el límite por defecto de muchos servidores (128 MB o incluso 64 MB), es fácil quedarse corto, sobre todo si usas muchos módulos o tienes un catálogo grande.
La solución es aumentar la memoria PHP, y en este artículo te voy a enseñar a hacerlo paso a paso, tanto si tu hosting usa Plesk como si usa DirectAdmin. No necesitas ser un experto, solo seguir las instrucciones con calma.
¿Cuál es el límite de memoria recomendado para PrestaShop?
Antes de tocar nada, es importante saber a dónde queremos llegar. PrestaShop recomienda un mínimo de 256 MB para funcionar con soltura, pero si tu tienda es grande o usas muchos módulos, lo ideal es subirlo a 512 MB o incluso 1 GB en servidores dedicados o VPS potentes.
Te dejo una tabla rápida orientativa:
| Tamaño de tienda | Memoria recomendada |
|---|---|
| Tienda pequeña (pocos productos) | 256 MB |
| Tienda mediana (catálogo amplio) | 512 MB |
| Tienda grande o con módulos pesados | 1 GB |
No te limites a 128 MB, es insuficiente para PrestaShop moderno (versiones 1.7 y 8.x).
Cómo comprobar el límite de memoria actual en PrestaShop
Antes de cambiar nada, es buena idea saber cuánta memoria tienes asignada ahora mismo. Hay dos formas sencillas de hacerlo:
Opción 1: Desde el panel de administración de PrestaShop
- Ve a Parámetros avanzados > Información en el menú lateral.
- Busca la sección "Configuración del servidor".
- Localiza el campo "Límite de memoria". Ahí verás el valor actual, por ejemplo
128M.
Opción 2: Creando un archivo de prueba
Si no encuentras esa opción o quieres verificar otro tipo de datos, puedes crear un archivo temporal:
- Crea un archivo llamado
info.phpen la raíz de tu tienda (carpetapublic_htmlohttpdocs). - Dentro, escribe:
<?php phpinfo(); ?> - Ábrelo en tu navegador (ej:
tutienda.com/info.php) y busca la línea memory_limit. - Borra el archivo inmediatamente después, ya que es un riesgo de seguridad dejarlo accesible.
Aumentar memoria PHP en Plesk (paso a paso)
Plesk es uno de los paneles de control más usados en hosting compartido y VPS. La buena noticia es que tiene una interfaz gráfica que facilita mucho el cambio.
Método 1: Desde el panel de Plesk (la forma más fácil)
Este es el método recomendado para la mayoría de usuarios, porque no necesitas tocar archivos de configuración manualmente.
- Inicia sesión en Plesk con tu cuenta de administrador o de cliente.
- En el panel izquierdo, selecciona tu dominio (el de tu tienda PrestaShop).
- Busca la sección "PHP Settings" o "Configuración de PHP". Normalmente está dentro del apartado de "Hosting" o en el menú de "Aplicaciones".
- En la lista de opciones, busca "memory_limit".
- Haz clic en el valor actual y cámbialo a
512M(o el valor que necesites). - Pulsa "Aplicar" o "Guardar" en la parte inferior.
Plesk guardará los cambios automáticamente y reiniciará PHP si es necesario. No necesitas reiniciar el servidor entero.
Método 2: Editando el archivo php.ini
Si no encuentras la opción gráfica o tu proveedor la ha desactivado, puedes editar el archivo php.ini manualmente.
- En Plesk, ve a "Archivos" o "File Manager" dentro de tu dominio.
- Navega hasta la carpeta raíz (
httpdocsnormalmente). - Busca un archivo llamado
php.ini. Si no existe, créalo en blanco. - Abre el archivo y añade esta línea:
memory_limit = 512M
- Guarda los cambios. Si Plesk no lo detecta automáticamente, ve a "PHP Settings" y haz clic en "Reiniciar PHP" (o espera unos minutos).
Método 3: Usando el archivo .htaccess (solo si los anteriores fallan)
Algunos servidores Plesk ignoran el php.ini a nivel de directorio. En ese caso, puedes intentar con el .htaccess:
- Abre el File Manager de Plesk.
- Localiza el archivo
.htaccessen la raíz. Si no existe, créalo. - Añade estas líneas al final:
<IfModule mod_php7.c>
php_value memory_limit 512M
</IfModule>
- Guarda y prueba de nuevo tu tienda.
[INFO] Si tu servidor usa PHP-FPM (lo más común en Plesk moderno), el método del
.htaccesspuede no funcionar. Prioriza siempre el panel gráfico o elphp.ini.
Aumentar memoria PHP en DirectAdmin (paso a paso)
DirectAdmin es otro panel muy popular, especialmente en servidores VPS y dedicados. El proceso es un poco distinto, pero igual de sencillo.
Método 1: Desde el administrador de DirectAdmin (recomendado)
Si tienes acceso de administrador o reseller, esta es la vía más limpia:
- Inicia sesión en DirectAdmin.
- Ve a "Account Manager" > "Your Domain" o directamente al dominio de tu tienda.
- Busca la sección "PHP Settings" o "Custom PHP Configuration".
- Encontrarás una lista de parámetros. Localiza memory_limit.
- Cambia el valor a
512My guarda los cambios.
En algunos paneles, DirectAdmin te permite seleccionar la versión de PHP y editar los parámetros de forma gráfica. Si ves una lista de opciones desplegables, simplemente elige el valor que prefieras.
Método 2: Editando el archivo php.ini directamente
Este método es infalible si tienes acceso por SSH o a través del administrador de archivos de DirectAdmin.
- Entra en el File Manager de DirectAdmin (icono de carpeta en el panel principal).
- Ve a la carpeta
public_htmlde tu dominio. - Busca el archivo
php.ini. Si no está, créalo. - Añade esta línea:
memory_limit = 512M
- Guarda el archivo.
Método 3: Desde el archivo .user.ini (para PHP-FPM)
DirectAdmin con PHP-FPM suele usar archivos .user.ini en lugar de php.ini.
- Crea o edita el archivo
.user.inien tu carpetapublic_html. - Añade:
memory_limit = 512M
- Guarda el archivo y espera unos segundos. PHP-FPM lo recoge automáticamente.
[WARNING] En DirectAdmin, si usas CloudLinux o un sistema con "mod_hostinglimits", puede que el proveedor tenga un límite máximo impuesto. Si pones
1Gy el servidor solo permite512M, verás un error. Consulta con tu hosting si no estás seguro.
Qué hacer si los cambios no se aplican
A veces, tras modificar la configuración, PrestaShop sigue mostrando el mismo límite de memoria. Esto puede deberse a varias razones:
1. Caché de opcache
PHP guarda la configuración en caché. Reinicia el servicio PHP-FPM o Apache desde el panel de control. En Plesk, ve a "PHP Settings" y pulsa el botón de reiniciar. En DirectAdmin, ve a "Extra Features" > "PHP-FPM" y reinicia.
2. Múltiples archivos php.ini
Si tienes varios archivos php.ini en diferentes carpetas, PHP usa el más cercano al directorio donde se ejecuta el script. Asegúrate de que estás editando el correcto (el de la raíz de tu tienda).
3. El proveedor bloquea el cambio
Algunos hostings compartidos de bajo coste tienen el valor fijo y no permiten aumentarlo. En ese caso, contacta con el soporte técnico y pregunta si pueden subir el límite o si tienes que contratar un plan superior.
4. Verifica con el panel de PrestaShop
Después del cambio, vuelve a Parámetros avanzados > Información y comprueba que el valor ha cambiado. Si sigue igual, repite el proceso o prueba con otro método.
Consejos extra para optimizar la memoria en PrestaShop
Aumentar la memoria es solo la primera parte. Para que tu tienda vaya realmente fluida, ten en cuenta estas recomendaciones:
- Desactiva módulos que no uses: cada módulo activo consume memoria, aunque no lo veas en el front office.
- Usa una caché de rendimiento: PrestaShop tiene su propia caché en Parámetros avanzados > Rendimiento. Actívala con valores de "Recomendado".
- Actualiza PHP a la versión más reciente: PHP 8.1 o 8.2 consumen menos memoria que versiones antiguas (7.x).
- Limpia la carpeta
var/cacheregularmente si tu tienda va lenta. - Contrata un hosting con recursos suficientes: si tienes 100.000 productos, no esperes que funcione bien con un plan básico.
[TIP] Si tu tienda sigue dando errores de memoria con 512 MB, el problema no es solo el límite, sino que tienes demasiados módulos o un tema muy pesado. Revisa qué está consumiendo tanto y elimina lo innecesario.
Preguntas frecuentes (FAQ)
¿Puedo poner un valor demasiado alto?
Sí. Si pones 1G o 2G en un servidor con poca RAM, puedes saturar el servidor y hacer que la tienda se caiga. Empieza con 256M o 512M y sube solo si lo necesitas.
¿Qué diferencia hay entre Plesk y DirectAdmin?
Ambos son paneles de control, pero tienen interfaces distintas. Plesk es más "de hosting gestionado" y DirectAdmin es más "técnico". El método para cambiar la memoria es diferente, pero ambos permiten hacerlo sin tocar código.
¿Afecta esto a otras webs en mi servidor?
Solo afecta al dominio donde hagas el cambio. Si tienes varias tiendas, tendrás que repetir el proceso en cada una.
¿Y si mi hosting usa Syspanel (HestiaCP)?
Si tu proveedor usa Syspanel (antes conocido como HestiaCP), el proceso es similar: accede al panel por el puerto 2106 (ej: https://tudominio.com:2106), ve a tu dominio y edita el archivo php.ini o usa la sección de "Configuración PHP" si está disponible. El sistema es muy parecido a DirectAdmin.
¿Necesito reiniciar el servidor?
No, no hace falta reiniciar el servidor entero. Con reiniciar PHP-FPM o Apache es suficiente. El panel de control lo hace automáticamente al guardar los cambios.
Conclusión
Aumentar la memoria PHP en PrestaShop es una tarea sencilla si sigues los pasos adecuados para tu panel de control. Tanto en Plesk como en DirectAdmin, tienes opciones gráficas y manuales para hacerlo en menos de cinco minutos.
Recuerda siempre:
- Comprueba el valor actual antes de cambiar nada.
- Usa
512Mcomo punto de partida recomendado. - Si no funciona a la primera, prueba con otro método (php.ini, .htaccess, .user.ini).
- Si el problema persiste, revisa módulos y tema, no solo la memoria.
Con esto, tu tienda PrestaShop debería funcionar mucho más estable, sin errores de memoria y con una carga de páginas más rápida. Si tienes dudas, deja un comentario y te ayudaré a resolverlo. ¡Buena suerte con tu tienda!
