Cómo aumentar el límite de memoria PHP para PrestaShop en cPanel y Plesk
¿Por qué PrestaShop necesita más memoria PHP?
Si tu tienda PrestaShop se queda en blanco, muestra un error de memoria o tarda muchísimo en cargar, es muy probable que el límite de memoria PHP sea insuficiente. Pasa mucho cuando instalas módulos nuevos, subes imágenes pesadas o tu catálogo empieza a crecer.
PrestaShop es una plataforma exigente. Cada módulo, cada tema y cada consulta a la base de datos consume recursos. El valor por defecto de memory_limit en muchos servidores es de 128M, pero para una tienda con tráfico real, lo recomendable es tener al menos 256M o incluso 512M si usas muchos complementos.
El error típico que verás es algo así:
Fatal error: Allowed memory size of 134217728 bytes exhausted
Ese número (134217728) son 128 megabytes. Cuando lo veas, ya sabes: hay que subir la memoria PHP. Aquí te explico cómo hacerlo paso a paso, tanto si tu hosting usa cPanel como si usa Plesk. Son los dos paneles más comunes y con ellos podrás resolverlo en pocos minutos.
Qué es exactamente memory_limit en PrestaShop
Antes de tocar nada, conviene entender qué significa. El parámetro memory_limit es una directiva de PHP que limita cuánta memoria puede usar un script. En el caso de PrestaShop, cada vez que alguien entra en tu tienda, se ejecutan muchos scripts PHP: cargar productos, procesar el carrito, generar las páginas, etc.
Si ese límite es demasiado bajo, PHP se detiene y muestra un error. No es que tu servidor no tenga RAM, es que PHP tiene una "tapa" puesta que le impide usar más.
Por eso, aumentar la memoria PHP en PrestaShop es una de las primeras soluciones que debes probar ante cualquier error raro de rendimiento. Y no te preocupes: no necesitas ser un experto en programación para hacerlo. Solo tienes que seguir estos pasos.
Cómo aumentar el límite de memoria PHP en cPanel
cPanel es el panel de control más popular en el hosting compartido. La buena noticia es que ofrece varias formas de cambiar el memory_limit sin necesidad de tocar archivos de configuración del servidor (algo que no podrías hacer en un plan compartido).
Paso 1: Accede a cPanel y busca "Select PHP Version"
Entra en tu cPanel con tus credenciales. Busca la sección Software o Gestión de software. Allí verás una herramienta llamada Select PHP Version (o "Seleccionar versión de PHP"). Haz clic en ella.
Este es el panel que te permite cambiar la versión de PHP de tu sitio, pero también te da acceso a las opciones de configuración avanzada.
Paso 2: Abre la pestaña "Options" o "Opciones"
Una vez dentro de Select PHP Version, verás una pestaña que dice Options o Opciones. Haz clic ahí. Se mostrará una lista larga de parámetros de configuración de PHP. Busca la línea que dice memory_limit.
Paso 3: Cambia el valor de memory_limit
Verás que a la derecha hay un campo con un valor como 128M o 256M. Cámbialo por el valor que necesites. Te recomiendo empezar con 256M. Si tu tienda es grande, pon 512M.
Después, pulsa el botón Save o Guardar al final de la página. Y listo. El cambio se aplica casi al instante.
Paso 4: Verifica que el cambio se ha aplicado
Para asegurarte de que el memory_limit PrestaShop ha cambiado, ve a tu panel de administración de PrestaShop. Puedes comprobarlo en Parámetros avanzados > Información. Ahí verás una tabla con la configuración de PHP y el nuevo valor de memoria.
[TIP] Si no ves la herramienta "Select PHP Version" en tu cPanel, es posible que tu hosting use una versión anterior o que tengas un plan muy básico. En ese caso, prueba el método del archivo
.htaccessque te explico más abajo.
Método alternativo en cPanel: modificar el archivo .htaccess
Si no tienes acceso a "Select PHP Version", puedes intentar añadir una línea al archivo .htaccess de la raíz de tu PrestaShop. Este archivo es el que controla muchas cosas del servidor y es bastante fácil de editar.
- Entra en el Administrador de archivos de cPanel.
- Ve a la carpeta
public_html(o la carpeta donde esté instalada tu tienda). - Busca el archivo
.htaccess. Si no lo ves, activa la opción de "Mostrar archivos ocultos". - Haz clic derecho y selecciona Editar.
- Añade esta línea al final del archivo:
php_value memory_limit 256M
- Guarda los cambios.
[WARNING] Este método solo funciona si tu servidor usa PHP como módulo de Apache. En muchos hostings modernos con PHP-FPM, esta directiva se ignora. Si no ves cambios, usa el método de "Select PHP Version" o contacta con tu proveedor.
Cómo aumentar el límite de memoria PHP en Plesk
Plesk es otro panel de control muy usado, sobre todo en servidores VPS y dedicados. El proceso es un poco diferente al de cPanel, pero igual de sencillo.
Paso 1: Accede a Plesk y localiza tu dominio
Entra en Plesk con tu usuario administrador. En el panel principal, verás la lista de dominios o suscripciones. Haz clic en el dominio donde está instalada tu tienda PrestaShop.
Paso 2: Encuentra la sección "PHP Settings"
Dentro de la página de tu dominio, busca la sección PHP Settings (Configuración de PHP). Normalmente está en la pestaña Hosting o en el menú lateral. Haz clic en ella.
Paso 3: Cambia el valor de memory_limit
En la página de configuración de PHP, verás una lista de parámetros. Busca memory_limit y cambia el valor. Al igual que en cPanel, te recomiendo 256M como mínimo.
Después, pulsa el botón Aplicar o Guardar. Plesk guardará los cambios y los aplicará automáticamente.
[INFO] En Plesk, a veces el campo
memory_limitno aparece directamente. Si no lo ves, busca el botón "PHP Settings" avanzado o la pestaña "Additional directives" (directivas adicionales). Ahí puedes añadir la líneamemory_limit = 256Mmanualmente.
Paso 4: Comprueba el cambio en PrestaShop
Igual que en cPanel, ve a Parámetros avanzados > Información en tu administrador de PrestaShop para confirmar que el nuevo límite está activo.
¿Y si uso Syspanel (antes HestiaCP)?
Algunos clientes nos preguntan cómo hacer esto en otros paneles. Si tu hosting usa Syspanel (el nuevo nombre de HestiaCP), el proceso es parecido al de Plesk, pero con sus particularidades. Recuerda que para acceder a Syspanel, la URL es https://tu-dominio:2106.
Dentro de Syspanel, busca la sección de Web o Dominios, selecciona tu sitio y luego entra en PHP. Allí podrás cambiar el memory_limit desde un desplegable o escribiendo el valor manualmente. Guarda los cambios y reinicia PHP si te lo pide.
[WARNING] Syspanel es un panel potente, pero ten cuidado al tocar configuraciones avanzadas si no estás seguro. Siempre puedes contactar con tu proveedor de hosting para que te ayuden.
¿Qué valor de memory_limit es el adecuado para PrestaShop?
Esa es la pregunta del millón. No hay una respuesta única, pero te doy una guía orientativa:
- 128M: Suficiente para una tienda muy pequeña, con pocos productos y sin módulos pesados.
- 256M: El mínimo recomendado para una tienda en producción con módulos estándar.
- 512M: Ideal si usas muchos módulos, temas complejos o tienes un catálogo grande con imágenes pesadas.
- 1G o más: Solo necesario en tiendas muy grandes con mucho tráfico o módulos muy pesados como los de importación masiva.
Empieza con 256M y observa. Si sigues teniendo errores de memoria, sube a 512M. El rendimiento de tu servidor también influye: si tienes poca RAM física, subir mucho este límite puede ralentizar todo el servidor.
[TIP] No pongas un valor extremadamente alto "por si acaso". Un
memory_limitde 2G en un servidor con 4G de RAM puede provocar caídas del servidor si varios usuarios entran a la vez.
Otros métodos para aumentar la memoria PHP en PrestaShop
Además de cPanel y Plesk, hay otras formas de subir el límite de memoria. Algunas son más técnicas, pero te las explico por si las necesitas.
Modificar el archivo php.ini directamente
Si tienes acceso a la configuración de PHP del servidor (normalmente en VPS o dedicados), puedes editar el archivo php.ini. Busca la línea que dice:
memory_limit = 128M
Y cámbiala por:
memory_limit = 256M
Después, reinicia el servicio de PHP. En sistemas con systemctl, sería algo como:
sudo systemctl restart php8.1-fpm
Modificar el archivo .htaccess (si tu servidor lo permite)
Como te expliqué antes, esta línea en el .htaccess puede funcionar en algunos servidores:
php_value memory_limit 256M
Crear un archivo php.ini en la carpeta de PrestaShop
Algunos hostings permiten crear un archivo php.ini personalizado en la raíz de tu cuenta. Puedes crear un archivo llamado php.ini en public_html y poner dentro:
memory_limit = 256M
Esto solo funciona si tu hosting usa CGI/FastCGI y está configurado para leer ese archivo.
Añadir la directiva en un archivo .user.ini
En servidores con PHP-FPM, puedes crear un archivo llamado .user.ini en la raíz de tu PrestaShop y añadir:
memory_limit = 256M
Este método es muy usado en hostings con LiteSpeed o Nginx.
Cómo comprobar si el cambio se ha aplicado correctamente
Después de hacer cualquiera de estos cambios, es importante verificar que realmente se ha aplicado. La forma más fácil es desde el panel de administración de PrestaShop:
- Ve a Parámetros avanzados.
- Haz clic en Información.
- Busca la fila que dice
memory_limit.
Ahí verás el valor actual. Si sigue apareciendo el valor antiguo, algo no ha funcionado. Revisa que has guardado los cambios y que has elegido el archivo o la sección correcta.
[INFO] También puedes crear un archivo PHP temporal en la raíz de tu tienda con este contenido:
<?php phpinfo(); ?>. Ábrelo en el navegador y buscamemory_limit. Cuando termines, borra ese archivo inmediatamente porque es un riesgo de seguridad.
Preguntas frecuentes sobre el límite de memoria PHP en PrestaShop
¿Por qué PrestaShop da error de memoria si mi servidor tiene 8GB de RAM?
Porque el memory_limit es un límite por script, no global. Aunque tu servidor tenga mucha RAM, PHP solo puede usar la cantidad que indique esa directiva. Es una protección para que un solo script no consuma todos los recursos.
¿Puedo poner memory_limit a -1 para que sea ilimitado?
Sí, pero no es recomendable. Con -1, PHP no tendrá límite, pero si un módulo tiene un error o un bucle infinito, puede consumir toda la RAM del servidor y tumbar el sitio. Mejor pon un valor razonable.
¿Cuánto tarda en aplicarse el cambio de memoria?
En cPanel y Plesk, los cambios suelen ser inmediatos. Si modificas el php.ini, tendrás que reiniciar el servicio PHP. En cualquier caso, no debería tardar más de un par de minutos.
¿Afecta el memory_limit a la velocidad de mi tienda?
No directamente. Un límite más alto no hace que la tienda vaya más rápida, pero evita errores que ralentizan o bloquean la página. Si tu tienda va lenta, el problema suele ser otro: caché, imágenes pesadas, hosting insuficiente, etc.
¿Qué hago si después de subir la memoria sigue el error?
Si ya has puesto 512M y sigues teniendo errores de memoria, el problema no es el límite. Puede ser un módulo mal configurado, un tema con demasiadas consultas o que tu plan de hosting es demasiado limitado. En ese caso, revisa los logs de error de PrestaShop o contacta con tu proveedor.
Resumen rápido: pasos para aumentar la memoria PHP en PrestaShop
Para que no se te olvide, aquí tienes el resumen:
- Identifica el error: Si ves "Allowed memory size exhausted", es el
memory_limit. - En cPanel: Usa "Select PHP Version" > "Options" > cambia
memory_limita256M. - En Plesk: Entra en tu dominio > "PHP Settings" > cambia
memory_limit. - En Syspanel: Accede por el puerto 2106 y busca la configuración de PHP.
- Verifica: Ve a Parámetros avanzados > Información en PrestaShop.
- Si no funciona: Prueba con
.htaccess,php.inio.user.ini.
Con esto, tu tienda debería funcionar mucho mejor. Y recuerda: si tienes dudas o tu hosting no te permite hacer estos cambios, contacta con el soporte de tu proveedor. Es un cambio muy habitual y te lo pueden hacer ellos en minutos.
