Aumentar límite de memoria PHP en PrestaShop (cPanel y Plesk)
¿Tu tienda PrestaShop se ha quedado congelada, muestra un error en blanco o te aparece un mensaje como “Fatal error: Allowed memory size of X bytes exhausted”? No te preocupes, es uno de los problemas más comunes al trabajar con PrestaShop, especialmente cuando instalas muchos módulos, subes imágenes grandes o tu catálogo empieza a crecer.
La buena noticia es que aumentar el límite de memoria PHP en PrestaShop es un proceso sencillo que puedes hacer tú mismo, incluso sin ser un experto técnico. En esta guía te explicaré paso a paso cómo hacerlo tanto si tu hosting usa cPanel como si usa Plesk. También veremos cómo configurarlo directamente desde PrestaShop y algunos trucos extra para evitar futuros sustos.
¿Por qué aparece el error de memoria en PrestaShop?
PrestaShop está desarrollado en PHP, un lenguaje que necesita una cantidad determinada de memoria para ejecutar scripts. Cuando tu tienda intenta realizar una tarea que supera ese límite (por ejemplo, procesar un backup, regenerar miniaturas o ejecutar un módulo pesado), PHP se detiene y muestra un error.
Las causas más frecuentes son:
- Tener muchos productos (más de 1000) sin optimizar.
- Usar módulos mal programados o muy pesados.
- Subir imágenes de gran tamaño sin comprimir.
- Configuraciones por defecto del servidor demasiado bajas (por ejemplo, 32M o 64M).
- No haber ajustado el
memory_limiten el archivo de configuración de PHP.
[INFO] El valor recomendado para PrestaShop es de al menos 128M, aunque para tiendas grandes o con muchos módulos, lo ideal es 256M o incluso 512M.
Antes de empezar: ¿Qué necesitas?
Para aumentar el límite de memoria PHP necesitarás acceso al panel de control de tu hosting (cPanel o Plesk). Si no sabes cuál usas, pregunta a tu proveedor de hosting. También necesitarás un editor de texto plano (como el bloc de notas o Notepad++) para modificar archivos si es necesario.
Aumentar memory_limit en PrestaShop desde cPanel
cPanel es uno de los paneles más populares. El método más fiable es modificar el archivo php.ini o usar el selector de PHP.
Paso 1: Accede al selector de PHP
- Inicia sesión en cPanel.
- Busca la sección Software y haz clic en Select PHP Version (o "Seleccionar versión de PHP").
- Se abrirá una ventana con la versión actual de PHP que usas.
Paso 2: Ajusta el valor de memory_limit
- Haz clic en la pestaña Options o Opciones.
- Busca la línea
memory_limit. Por defecto suele venir con valores como 64M, 128M o incluso 32M. - Cambia el valor a 256M o 512M (no uses decimales ni espacios, solo el número seguido de M).
- Haz clic en Apply o Aplicar.
[TIP] Si no ves la opción
memory_limit, es posible que tu hosting no permita modificarlo desde el selector. En ese caso, prueba con el método del archivo .htaccess o contacta con soporte.
Paso 3: Verifica el cambio
Para asegurarte de que el cambio se ha aplicado, puedes crear un archivo info.php en la raíz de tu tienda (carpeta public_html) con el siguiente contenido:
<?php phpinfo(); ?>
Luego accede a tudominio.com/info.php y busca memory_limit. Verás el nuevo valor. No olvides borrar este archivo por seguridad después de comprobarlo.
Método alternativo en cPanel: modificar .htaccess
Si el selector de PHP no funciona, puedes añadir una línea en el archivo .htaccess de tu tienda:
- Desde cPanel, ve a File Manager (Administrador de archivos).
- Navega hasta la carpeta donde está instalado PrestaShop (normalmente
public_html). - Busca el archivo
.htaccess. Si no lo ves, activa la opción "Mostrar archivos ocultos". - Edita el archivo y añade esta línea al principio:
php_value memory_limit 256M
- Guarda los cambios.
[WARNING] Asegúrate de que tu servidor tenga habilitada la directiva
AllowOverridepara que esta modificación funcione. Si no, no tendrá efecto.
Aumentar memory_limit en PrestaShop desde Plesk
Plesk es otro panel muy común, especialmente en servidores más robustos. Aquí te explico cómo hacerlo.
Paso 1: Accede a la configuración de PHP
- Inicia sesión en Plesk.
- Ve a Websites & Domains (Sitios web y dominios).
- Busca tu dominio y haz clic en PHP Settings (Configuración de PHP).
Paso 2: Modifica memory_limit
- Dentro de PHP Settings, localiza la opción memory_limit.
- Cambia el valor a 256M o 512M.
- Haz clic en Apply (Aplicar).
Paso 3: Verifica el cambio
Igual que en cPanel, puedes crear un archivo info.php para comprobar que el nuevo valor se ha aplicado. Recuerda eliminarlo después.
Método alternativo en Plesk: editar php.ini manualmente
Si no ves la opción en la interfaz, puedes editar el php.ini directamente:
- En Plesk, ve a File Manager.
- Navega a la carpeta
httpdocs(o la raíz de tu tienda). - Busca o crea un archivo llamado
php.ini. - Añade la línea:
memory_limit = 256M
- Guarda y cierra.
[INFO] En Plesk, a veces el
php.inise encuentra en una ruta como/var/www/vhosts/tudominio.com/httpdocs/. Si no estás seguro, consulta con tu proveedor.
Aumentar memory_limit directamente desde PrestaShop (sin panel)
¿No tienes acceso a cPanel ni a Plesk? Aún puedes intentarlo desde la configuración de PrestaShop, aunque este método no siempre funciona.
- Accede a tu panel de administración de PrestaShop.
- Ve a Parámetros avanzados > Rendimiento.
- Busca la sección Límite de memoria PHP (puede no aparecer en todas las versiones).
- Cambia el valor a 256M y guarda.
[WARNING] Este método solo está disponible en versiones recientes de PrestaShop (1.7 en adelante) y depende de que el servidor lo permita. Si no ves la opción, tendrás que usar los métodos anteriores.
¿Qué valor de memory_limit elegir?
No hay una respuesta única, pero aquí tienes una guía orientativa:
- 128M: Suficiente para tiendas pequeñas (menos de 500 productos, pocos módulos).
- 256M: Recomendado para la mayoría de tiendas medianas (hasta 2000 productos, módulos como SEO o imágenes).
- 512M: Ideal para tiendas grandes, con muchos módulos, catálogos extensos o que usan funciones pesadas como exportaciones masivas.
- 1G o más: Solo si tu hosting lo permite y tienes un tráfico muy alto o procesos muy complejos.
[TIP] No subas el límite más de lo necesario, ya que podría afectar al rendimiento general del servidor si tienes otros sitios web.
¿Qué hacer si después de aumentar el límite sigue el error?
Si ya aumentaste el memory_limit y el error persiste, puede deberse a otras causas:
- Módulo conflictivo: Desactiva módulos uno por uno para identificar al culpable.
- Imágenes demasiado grandes: Reduce el tamaño de las imágenes antes de subirlas (máximo 800x800 px y menos de 200 KB).
- Caché llena: Limpia la caché de PrestaShop desde Parámetros avanzados > Rendimiento.
- Versión de PHP desactualizada: PrestaShop funciona mejor con PHP 7.4 o 8.0.
- Problema de hosting: Contacta con tu proveedor, especialmente si usas hosting compartido.
Preguntas frecuentes (FAQ)
¿Es seguro aumentar el memory_limit?
Sí, siempre que no exageres. Subir de 128M a 256M es seguro y no afecta a otros sitios en el mismo servidor (a menos que el hosting tenga límites muy restrictivos).
¿Cuánto tiempo tarda en aplicarse el cambio?
En cPanel y Plesk, los cambios suelen ser inmediatos. Si modificas el .htaccess o php.ini, puede tardar unos segundos o minutos dependiendo de la configuración del servidor.
¿Qué hago si no tengo acceso a cPanel ni Plesk?
Puedes pedir a tu proveedor de hosting que lo haga por ti. También puedes intentar crear un archivo php.ini en la raíz de tu tienda con el valor deseado.
¿Puedo poner memory_limit a 0 (ilimitado)?
No es recomendable. PHP no está diseñado para funcionar sin límite y podría consumir todos los recursos del servidor, provocando caídas.
¿Afecta esto a la velocidad de mi tienda?
Un límite más alto permite ejecutar tareas pesadas sin errores, pero no acelera la carga de páginas. Para velocidad, necesitas optimizar imágenes, usar caché y un buen hosting.
Conclusión
Aumentar el límite de memoria PHP en PrestaShop es una tarea sencilla que puede resolver muchos problemas de funcionamiento. Ya sea desde cPanel, Plesk o mediante archivos de configuración, en pocos minutos puedes darle a tu tienda el oxígeno que necesita para funcionar sin errores.
Recuerda que el valor ideal depende del tamaño de tu tienda y los módulos que uses. Empieza con 256M y ajusta si es necesario. Y si después de todo sigue el error, revisa otros factores como módulos conflictivos o imágenes pesadas.
[INFO] Si tu hosting usa Syspanel (antes conocido como HestiaCP), el proceso es similar: accede al panel por el puerto 2106, busca la sección de configuración de PHP y modifica el
memory_limit. Si no encuentras la opción, edita el archivophp.inien la raíz de tu sitio.
¿Te ha quedado alguna duda? ¡Déjala en los comentarios y te ayudaré encantado!
