Aumentar el límite de memoria PHP en PrestaShop (WordPress y cPanel)
¿Por qué aparece el error de memoria PHP en PrestaShop?
Si estás leyendo esto, es muy probable que hayas visto alguno de estos mensajes en tu tienda online: "Allowed memory size exhausted", "Fatal error: Out of memory" o un simple "Error 500" al intentar acceder al panel de administración o al cargar una página pesada. No te preocupes, es uno de los problemas más comunes en PrestaShop, y la buena noticia es que tiene solución.
Este error ocurre cuando tu tienda necesita más memoria de la que PHP tiene permitido usar. Piensa en la memoria como el espacio de trabajo de un cocinero: si le das una receta muy compleja pero solo tiene una mesa pequeña, no podrá colocar todos los ingredientes y fallará. Lo mismo le pasa a PrestaShop cuando intenta procesar módulos, imágenes o consultas a la base de datos con un memory_limit muy bajo.
El valor por defecto suele ser 128M (128 megabytes), pero para una tienda con varios módulos, catálogo grande o plugins de caché, esto se queda corto. Lo ideal es trabajar con 256M o incluso 512M si tu hosting lo permite.
A continuación, te explico paso a paso cómo aumentar memoria php prestashop tanto desde el panel de control cPanel como editando archivos directamente. También veremos cómo hacerlo si usas WordPress dentro de PrestaShop (algo más común de lo que crees) y trucos para evitar el error memoria prestashop en el futuro.
Antes de empezar: ¿Cuánta memoria necesitas realmente?
No se trata de poner el número más alto porque sí. Un valor excesivo puede ralentizar tu servidor si muchos usuarios acceden a la vez. Te recomiendo estos rangos según tu caso:
- Tienda pequeña (menos de 500 productos, pocos módulos): 128M suele bastar, pero subir a 256M te dará margen.
- Tienda mediana (hasta 5000 productos, varios módulos activos): 256M es lo mínimo recomendado.
- Tienda grande (catálogo extenso, módulos de caché, multitienda): 512M o incluso 1G si tu plan lo soporta.
[TIP] Si no sabes cuánta memoria tienes actualmente, ve a Parámetros avanzados > Información en el back-office de PrestaShop y busca el valor de
memory_limit. Ahí también verás otros datos útiles del servidor.
Método 1: Aumentar memory_limit desde cPanel (la forma más segura)
Si tu hosting usa cPanel, tienes varias opciones sin tocar código. Te recomiendo empezar por aquí porque es visual y difícil de romper.
1.1 Usar el selector de versiones de PHP (MultiPHP Manager)
Este es el método más limpio y recomendado:
- Entra a cPanel (normalmente en
tudominio.com/cpanel). - Busca la sección Software y haz clic en Select PHP Version o MultiPHP Manager (el nombre varía según el proveedor).
- Verás una lista con tus dominios. Junto al tuyo, hay un botón que dice Switch to PHP Options o un icono de ajustes.
- Se abrirá una tabla con muchas configuraciones. Busca la fila llamada memory_limit.
- Cambia el valor a
256Mo512M(escríbelo tal cual, con la M en mayúscula). - Haz clic en Apply o Save. El cambio es inmediato, no necesitas reiniciar nada.
[WARNING] Si no encuentras la opción
memory_limiten esa lista, puede que tu proveedor la tenga oculta. En ese caso, pasa al Método 2 o contacta con soporte.
1.2 Editar el archivo php.ini desde cPanel
A veces el método anterior no está disponible. Entonces vamos a lo clásico:
- En cPanel, busca la sección Files y haz clic en File Manager.
- Navega hasta la carpeta raíz de tu tienda (normalmente
public_html). - Busca un archivo llamado php.ini. Si no existe, créalo (botón derecho > New File).
- Ábrelo con el editor de texto y añade esta línea:
memory_limit = 256M
- Guarda los cambios y cierra.
[INFO] Si ya tenías un php.ini con contenido, solo añade o modifica la línea
memory_limit. No dupliques valores.
1.3 Crear un archivo .user.ini (alternativa moderna)
Algunos hostings usan .user.ini en lugar de php.ini. Funciona igual:
- Crea un archivo llamado .user.ini en la raíz de tu tienda.
- Añade dentro:
memory_limit = 256M
- Guarda y listo. Los cambios tardan unos segundos en aplicarse.
Método 2: Editar el archivo .htaccess (funciona en casi todos los hostings)
Si no tienes acceso a cPanel o prefieres hacerlo a mano, el archivo .htaccess es tu aliado. Es el mismo que usa WordPress para los enlaces permanentes.
- Ve al File Manager de cPanel o usa un cliente FTP como FileZilla.
- Localiza el archivo .htaccess en la raíz de tu PrestaShop (junto a
index.php). - Descárgalo y haz una copia de seguridad por si acaso (esto es muy importante).
- Ábrelo con un editor de texto (Notepad++ o el editor de cPanel).
- Al principio del archivo, después de la línea
# ~~start~~ Do not remove this commento simplemente al inicio, pega esto:
<IfModule mod_php7.c>
php_value memory_limit 256M
php_value max_execution_time 120
</IfModule>
Si tu hosting usa PHP 8.x, cambia mod_php7.c por mod_php8.c o simplemente usa:
<IfModule mod_php.c>
php_value memory_limit 256M
php_value max_execution_time 120
</IfModule>
- Guarda y sube de nuevo el archivo (si lo bajaste).
[WARNING] Si tu hosting usa PHP-FPM (lo verás en cPanel), esta directiva puede no funcionar. En ese caso, usa el método 1 o el 3.
Método 3: Aumentar memoria PHP en PrestaShop desde el archivo config.inc.php
Este es un método específico de PrestaShop que funciona incluso si tu hosting bloquea los anteriores. Edita el archivo de configuración principal:
- Entra al File Manager y navega a la carpeta
configdentro de tu instalación de PrestaShop. - Busca el archivo config.inc.php.
- Ábrelo con el editor y añade al principio (después de
<?php) esta línea:
ini_set('memory_limit', '256M');
- Guarda el archivo.
[TIP] Este método es el más fiable porque PrestaShop ejecuta este archivo siempre, en cada petición. Es como un "forzar" la configuración.
Método 4: ¿WordPress dentro de PrestaShop? Cómo subir la memoria en wp-config.php
Aunque parezca raro, hay tiendas que integran WordPress para el blog o como parte de un plugin. Si ese es tu caso, el error de memoria puede venir de WordPress, no de PrestaShop.
Para aumentar la memoria en WordPress:
- Localiza el archivo wp-config.php en la raíz de tu instalación de WordPress (puede estar en una subcarpeta como
/blogo/wordpress). - Ábrelo y busca la línea que dice:
define('WP_MEMORY_LIMIT', '128M');
- Si no existe, añádela justo antes de la línea
/* That's all, stop editing! */:
define('WP_MEMORY_LIMIT', '256M');
define('WP_MAX_MEMORY_LIMIT', '512M');
- Guarda el archivo.
La segunda constante (WP_MAX_MEMORY_LIMIT) se usa solo para el panel de administración de WordPress, así que es buena idea ponerla más alta.
Método 5: Si tu hosting usa Syspanel (antes HestiaCP)
Algunos hostings gestionan sus servidores con Syspanel (la interfaz que antes se llamaba HestiaCP). Si tu panel de control se ve distinto a cPanel, presta atención:
- Accede a tu panel Syspanel a través del puerto 2106 (por ejemplo:
tudominio.com:2106). - Busca la sección Web o Dominios y selecciona tu tienda.
- Dentro, verás una pestaña llamada PHP o Configuración PHP.
- Haz clic en Editar y busca la variable
memory_limit. - Cambia el valor a
256Mo512My guarda.
[INFO] En Syspanel, los cambios suelen aplicarse al instante. Si no ves la opción, contacta con tu proveedor de hosting, ya que a veces está bloqueada por seguridad.
¿Cómo comprobar que el cambio se ha aplicado correctamente?
Después de hacer cualquiera de estos cambios, verifica que todo funciona:
- Ve al back-office de PrestaShop:
tudominio.com/admin. - Entra en Parámetros avanzados > Información.
- Busca el apartado Configuración del servidor y localiza
memory_limit. - Debería aparecer el nuevo valor (por ejemplo,
256M).
También puedes crear un archivo de prueba llamado info.php en la raíz con este contenido:
<?php phpinfo(); ?>
Ábrelo en el navegador y busca memory_limit. Bórralo después por seguridad, ya que expone información sensible de tu servidor.
[WARNING] Nunca dejes un archivo
info.phpen producción. Es una puerta abierta para los atacantes.
Errores comunes al intentar subir la memoria (y cómo solucionarlos)
"No tengo permiso para editar .htaccess"
Algunos hostings bloquean la modificación de este archivo. Prueba con el método 3 (config.inc.php) o contacta con soporte.
"He cambiado el valor pero sigue el error"
Esto suele pasar cuando hay múltiples archivos PHP. Asegúrate de editar el php.ini correcto. A veces hay uno en public_html y otro en public_html/admin.
"El error aparece solo en el back-office"
El panel de administración de PrestaShop consume más memoria que la tienda pública. En ese caso, sube el límite a 512M o usa WP_MAX_MEMORY_LIMIT si tienes WordPress integrado.
"Mi hosting no me deja pasar de 128M"
Algunos planes de hosting compartido tienen un límite máximo impuesto por el proveedor. Si necesitas más, considera cambiar a un plan superior o a un VPS.
Consejos finales para evitar el error de memoria en el futuro
Subir el límite es una solución inmediata, pero conviene prevenir:
- Desactiva módulos que no uses: Cada módulo consume memoria, aunque esté inactivo.
- Limpia la caché regularmente: En Parámetros avanzados > Rendimiento, activa la caché y combina CSS/JS.
- Optimiza las imágenes: Usa formatos WebP y comprime antes de subirlas.
- Actualiza PrestaShop y los módulos: Las versiones nuevas son más eficientes.
- Revisa el log de errores: En Parámetros avanzados > Logs para ver qué módulo genera el error.
Preguntas frecuentes (FAQ)
¿Cuál es el valor recomendado de memory_limit para PrestaShop?
Para una tienda estándar, 256M es el mínimo recomendado. Si tienes muchos módulos o productos, ve a 512M.
¿Puedo poner memory_limit = -1 para que sea ilimitado?
Técnicamente sí, pero no lo recomiendo. Un script con un fallo podría consumir toda la memoria del servidor y tumbar tu tienda. Mejor un valor alto pero finito.
¿Qué pasa si mi hosting no soporta .htaccess?
Usa el método 3 (editar config.inc.php) o el método 1.2 (php.ini). Si todo falla, contacta con soporte.
¿El error de memoria afecta al SEO de mi tienda?
Sí, indirectamente. Un error 500 o una página que no carga genera una mala experiencia de usuario, aumenta el rebote y Google puede penalizarte. Además, si el error ocurre en el sitemap o en las páginas de producto, el rastreo se ve afectado.
¿Cada cuánto tiempo debo revisar el memory_limit?
Siempre que añadas un módulo nuevo, actualices la tienda o notes que el sitio va lento. Es buena práctica revisarlo trimestralmente.
Resumen rápido
| Método | Dónde | Dificultad | Efectividad |
|---|---|---|---|
| MultiPHP Manager (cPanel) | cPanel | Fácil | Alta |
| php.ini | Raíz de la tienda | Media | Alta |
| .htaccess | Raíz de la tienda | Media | Media |
| config.inc.php | Carpeta /config | Fácil | Muy alta |
| wp-config.php | WordPress | Fácil | Alta (solo WP) |
| Syspanel (puerto 2106) | Panel alternativo | Media | Alta |
Empieza siempre por el método más simple (cPanel o config.inc.php) y ve subiendo de complejidad si no funciona.
Último consejo
Antes de tocar nada, haz una copia de seguridad completa de tu tienda (archivos y base de datos). Esto te salvará si algo sale mal. La mayoría de los hostings tienen herramientas de backup en cPanel, pero también puedes usar módulos como PrestaShop Backup.
Si después de todos estos pasos el error memoria prestashop persiste, el problema puede estar en un módulo mal codificado o en un servidor demasiado limitado. En ese caso, contacta con el soporte de tu hosting y muéstrales el mensaje de error exacto que aparece en tu tienda.
Con esto, ya tienes todas las herramientas para aumentar memoria php prestashop sin miedo a romper nada. Recuerda: ve paso a paso, comprueba después de cada cambio y no te saltes las copias de seguridad. ¡Tu tienda volverá a volar!
