Aumentar límite de memoria PHP en PrestaShop para WordPress
¿Te ha aparecido un error molesto en tu tienda PrestaShop como "Fatal error: Allowed memory size of X bytes exhausted" o "PrestaShop error memoria"? No te preocupes, es uno de los problemas más comunes al gestionar una tienda online, especialmente cuando instalas módulos nuevos, subes imágenes de alta resolución o trabajas con catálogos grandes.
Este error significa que tu servidor no le está dando suficiente memoria a PHP, el lenguaje en el que está escrito PrestaShop. La buena noticia es que aumentar memory_limit PrestaShop es un proceso sencillo que puedes hacer tú mismo, incluso sin ser un experto en hosting.
En esta guía completa y detallada, te explicaré paso a paso cómo aumentar la memoria PHP en PrestaShop, cómo optimizar la memoria PHP para que tu tienda vuele, y cómo solucionar el temido "PrestaShop error memoria" usando herramientas como cPanel o incluso accediendo directamente a los archivos del servidor. Todo explicado de forma clara, con ejemplos y alertas para que no te equivoques.
¿Por qué es importante el límite de memoria PHP en PrestaShop?
PrestaShop es un sistema muy potente, pero también es bastante "hambriento" en cuanto a recursos. Cada vez que cargas una página, tu tienda ejecuta decenas de procesos: mostrar productos, conectar con la base de datos, ejecutar módulos, cargar JavaScript, etc.
Si el PHP memory limit PrestaShop es demasiado bajo (por ejemplo, 32M o 64M), el sistema se queda sin recursos y aparece el error de memoria. Esto puede ocurrir en situaciones como:
- Instalar o actualizar un módulo pesado (por ejemplo, un módulo de envíos, SEO o estadísticas).
- Subir imágenes de producto en alta resolución (especialmente si tienes muchas variantes).
- Generar miniaturas (thumbnails) después de cambiar la configuración de imágenes.
- Ejecutar procesos batch como importar productos desde un CSV.
- Tener muchas visitas simultáneas en tu tienda.
Aumentar este límite no solo elimina el error, sino que mejora la velocidad y estabilidad de tu tienda. Es una de las primeras optimizaciones que cualquier experto recomienda.
¿Cuál es el límite de memoria PHP recomendado para PrestaShop?
Antes de empezar, debes saber que no existe un valor mágico, pero sí recomendaciones generales:
| Uso de la tienda | Límite recomendado |
|---|---|
| Tienda pequeña (pocos productos, poco tráfico) | 128M |
| Tienda mediana (cientos de productos, varios módulos) | 256M |
| Tienda grande (miles de productos, muchos módulos, tráfico alto) | 512M o más |
Mi recomendación estándar: Si no sabes cuánto poner, empieza con 256M. Es un valor seguro que funciona en la mayoría de los casos y no sobrecarga el servidor.
[TIP] Si tu hosting te permite, puedes probar con 512M, pero asegúrate de que tu plan de hosting lo soporte. Algunos hostings compartidos tienen límites de recursos globales.
Método 1: Aumentar la memoria PHP desde cPanel (el más fácil)
Si tu hosting usa cPanel, este es el método más visual y seguro. No necesitas tocar archivos manualmente.
Paso a paso:
- Accede a tu cPanel. Normalmente es algo como
tudominio.com/cpanelo te lo proporciona tu proveedor de hosting. - Busca la sección "Software" o "Software del servidor". El nombre exacto puede variar según la versión de cPanel.
- Haz clic en "Seleccionar versión de PHP" o "MultiPHP Manager". (A veces se llama "Selector de PHP").
- Verás una lista de tus dominios o subdominios. Busca el dominio donde está instalado PrestaShop.
- Haz clic en el icono de "Cambiar a" (suele ser un engranaje o un lápiz) o directamente en el nombre del dominio.
- Se abrirá una ventana con opciones. Busca la línea memory_limit.
- Cambia el valor al que desees (por ejemplo,
256Mo512M). - Guarda los cambios. Normalmente el botón es "Aplicar" o "Guardar".
[INFO] Si no ves la opción
memory_limiten la lista, puede que tu hosting no permita modificarlo desde cPanel. En ese caso, prueba con el Método 2.
Método 2: Modificar el archivo php.ini (acceso directo)
Si tu hosting no tiene cPanel, o prefieres tocar archivos, puedes editar el archivo de configuración de PHP llamado php.ini. Este archivo controla todos los parámetros de PHP, incluido el límite de memoria.
¿Dónde está el archivo php.ini?
La ubicación exacta depende de tu servidor. Los lugares más comunes son:
- En la raíz de tu cuenta de hosting:
/home/tuusuario/public_html/php.ini - En la carpeta de PrestaShop:
/public_html/php.ini - En una carpeta específica de PHP: A veces está en
/etc/php.ini(pero este suele ser global y no siempre editable).
Si no sabes dónde está, puedes crearlo tú mismo en la raíz de tu tienda.
Cómo editarlo:
- Conéctate a tu hosting mediante FTP (FileZilla, Cyberduck) o desde el administrador de archivos de cPanel.
- Navega hasta la carpeta raíz donde está instalado PrestaShop (normalmente
public_htmlowww). - Busca el archivo
php.ini. Si no existe, crea un archivo nuevo con ese nombre exacto. - Ábrelo con un editor de texto (Bloc de notas, Notepad++, o el editor integrado de cPanel).
- Añade o modifica la siguiente línea:
memory_limit = 256M
- Guarda el archivo y súbelo de nuevo al servidor (si lo editaste localmente).
[WARNING] Si ya existe una línea
memory_limiten el archivo, cámbiala. No dupliques la línea porque PHP tomará la última que encuentre.
¿Qué pasa si no funciona?
A veces el servidor no lee el php.ini local. En ese caso, puedes intentar con el método de .htaccess.
Método 3: Usar el archivo .htaccess de PrestaShop
Este método es muy popular porque no necesitas crear archivos nuevos, solo modificas uno que ya existe en tu tienda: el .htaccess. PrestaShop genera este archivo automáticamente.
Paso a paso:
- Conéctate por FTP o al administrador de archivos de cPanel.
- Ve a la carpeta raíz de tu PrestaShop.
- Busca el archivo
.htaccess(puede estar oculto, activa la opción "Mostrar archivos ocultos" en tu FTP). - Descárgalo y haz una copia de seguridad (por si algo sale mal).
- Ábrelo con un editor de texto.
- Al final del archivo, añade estas líneas:
<IfModule mod_php7.c>
php_value memory_limit 256M
</IfModule>
[TIP] Si tu servidor usa PHP 8.x, cambia
mod_php7.cpormod_php8.c. Si no estás seguro, puedes usar una versión genérica:<IfModule mod_php.c>.
- Guarda el archivo y súbelo de nuevo al servidor.
¿Por qué este método funciona?
Porque el .htaccess es un archivo de configuración que Apache (el servidor web) lee cada vez que carga una página. Al poner ahí el límite de memoria, le dices a PHP que use ese valor para tu tienda.
[WARNING] No borres nada del
.htaccessoriginal, solo añade las líneas al final. Si eliminas algo, tu tienda podría dejar de funcionar.
Método 4: Aumentar la memoria desde Syspanel (HestiaCP)
Si tu hosting utiliza Syspanel (anteriormente conocido como HestiaCP), el proceso es diferente pero igual de sencillo. Recuerda que el acceso a Syspanel es por el puerto 2106.
Paso a paso:
- Accede a tu Syspanel escribiendo en el navegador:
https://tudominio.com:2106 - Inicia sesión con tus credenciales de administrador.
- Ve a la sección "Web" o "Dominios web".
- Busca tu dominio donde está PrestaShop.
- Haz clic en "Editar" (normalmente un icono de lápiz).
- Busca la opción "PHP" o "Configuración de PHP".
- Localiza el campo
memory_limity cambia el valor (por ejemplo,256M). - Guarda los cambios y espera unos segundos a que se apliquen.
[INFO] Syspanel suele aplicar los cambios automáticamente, pero a veces necesitas reiniciar el servicio PHP desde la misma interfaz.
¿Cómo comprobar si el cambio se ha aplicado correctamente?
Después de hacer cualquiera de los métodos anteriores, es importante verificar que el nuevo límite de memoria se está usando. Hay varias formas:
Opción 1: Desde el panel de administración de PrestaShop
- Accede a tu back office de PrestaShop (ej:
tudominio.com/admin1234). - Ve a "Parámetros de la tienda" > "Información" (o "Información del sistema").
- Busca la línea "Límite de memoria" o "Memory limit". Debería mostrar el nuevo valor.
Opción 2: Crear un archivo de prueba PHP
- Crea un archivo llamado
info.phpen la raíz de tu tienda. - Ábrelo con un editor y escribe:
<?php phpinfo(); ?> - Guárdalo y súbelo al servidor.
- Accede a
tudominio.com/info.phpdesde tu navegador. - Busca la línea "memory_limit" en la tabla. Verás el valor actual.
[WARNING] No olvides borrar el archivo
info.phpdespués de la comprobación, ya que muestra información sensible de tu servidor.
¿Qué hago si el error persiste?
Si después de aumentar el límite de memoria sigues viendo el "PrestaShop error memoria", puede deberse a otras causas:
1. El módulo o tema tiene un problema
Algunos módulos mal programados consumen muchísima memoria aunque el límite sea alto. Prueba a desactivar módulos uno por uno para identificar al culpable.
2. Necesitas optimizar la memoria PHP
Aumentar el límite no siempre es la solución definitiva. También debes optimizar otros aspectos:
- Reduce la calidad de las imágenes al subirlas (usa herramientas como TinyPNG).
- Limpia la caché de PrestaShop (en "Parámetros avanzados > Rendimiento").
- Desactiva módulos que no uses.
- Actualiza PrestaShop y todos los módulos a la última versión.
3. El hosting tiene un límite global
A veces el proveedor de hosting impone un límite máximo (por ejemplo, 128M) en todos los planes. Si necesitas más, debes contactar con el soporte de tu hosting o cambiar a un plan superior.
4. Error en la configuración del servidor
Si usas Nginx en lugar de Apache, el .htaccess no funciona. En ese caso, debes modificar la configuración de Nginx directamente (o pedir ayuda a tu hosting).
Preguntas Frecuentes (FAQ)
¿Es seguro aumentar el límite de memoria PHP?
Sí, siempre que no pongas un valor excesivo (por ejemplo, 1024M en un hosting compartido). Un valor de 256M es seguro y mejora el rendimiento.
¿Puedo poner "unlimited" o "-1"?
Técnicamente sí, pero no lo recomiendo. Si no hay límite, un script malicioso o un error podría consumir toda la memoria del servidor y colapsar tu tienda y las de otros usuarios (en hosting compartido).
¿Aumentar la memoria hará que mi tienda cargue más rápido?
Indirectamente, sí. Al tener más memoria, PHP puede procesar las páginas sin errores y sin tener que "pagar" por falta de recursos. Pero la velocidad también depende de otros factores como el hosting, la base de datos y la optimización de imágenes.
¿Qué hago si mi hosting no me permite modificar nada?
Algunos hostings muy básicos (como los gratuitos) bloquean estas opciones. La única solución es cambiar a un hosting mejor que permita ajustar la memoria PHP. Busca uno que ofrezca cPanel o Syspanel.
¿El error de memoria puede dañar mi tienda?
El error en sí no daña los datos, pero puede impedir que se guarden cambios importantes (como una actualización de producto o un pedido). Es mejor solucionarlo cuanto antes.
Conclusión: Tu tienda PrestaShop merece más memoria
Aumentar el límite de memoria PHP en PrestaShop es una tarea sencilla que puede ahorrarte muchos dolores de cabeza. Ya sea usando cPanel, editando el php.ini, modificando el .htaccess o accediendo a Syspanel, cualquiera de estos métodos te permitirá aumentar memory_limit PrestaShop y olvidarte del molesto error de memoria.
Recuerda que optimizar la memoria PHP no solo elimina errores, sino que también mejora la experiencia de tus clientes y la estabilidad de tu negocio online.
Si después de seguir todos los pasos el problema persiste, no dudes en contactar con el soporte técnico de tu hosting. Ellos tienen acceso a configuraciones más profundas del servidor.
¡Ahora ya tienes todo lo necesario para que tu PrestaShop funcione como una máquina bien engrasada!
