🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Cómo resolver el error 'Memoria agotada' en PrestaShop (memory_limit)

Actualizado el 4 de noviembre de 2025

¿Qué significa el error "Memoria agotada" en PrestaShop?

Si estás leyendo esto, es muy probable que hayas visto un mensaje parecido a este en tu tienda online:

Error fatal: Allowed memory size of X bytes exhausted (tried to allocate Y bytes)

O en español, algo como:

Memoria agotada: Tamaño de memoria permitido de X bytes agotado (se intentó asignar Y bytes)

Este es uno de los errores más comunes en PrestaShop, y la buena noticia es que tiene solución. No es un problema de tu ordenador ni de tus productos, sino de un límite técnico llamado memory_limit en tu servidor.

Piensa en la memoria PHP como el espacio de trabajo que tiene tu tienda para hacer cálculos, cargar imágenes, procesar pedidos y ejecutar módulos. Si ese espacio es demasiado pequeño, la tienda se "ahoga" y muestra el error memoria PrestaShop.


¿Por qué ocurre este error?

El error memoria PrestaShop aparece cuando tu tienda necesita más memoria de la que el servidor le permite usar. Esto puede pasar por varias razones:

  • Tienes demasiados módulos activos que consumen muchos recursos.
  • Las imágenes de tus productos son muy pesadas.
  • Tu catálogo es muy grande y tienes muchos productos en una misma página.
  • Algún módulo o tema tiene un bug que consume memoria de más.
  • El valor de memory_limit en tu servidor es muy bajo (por defecto, muchos servidores usan 128M o incluso menos).

¿Cómo saber cuánta memoria tienes actualmente?

Antes de hacer cambios, es útil saber cuál es el valor actual. Puedes hacerlo de dos formas:

Opción 1: Desde el panel de administración de PrestaShop

  1. Ve a Parámetros avanzadosInformación.
  2. Busca la línea que dice memory_limit.
  3. Ahí verás el valor actual, por ejemplo 128M.

Opción 2: Creando un archivo de prueba

  1. Con un administrador de archivos (como el de Syspanel) o FTP, crea un archivo llamado info.php en la carpeta raíz de tu tienda.
  2. Dentro, pega este código:
<?php phpinfo(); ?>
  1. Accede a tudominio.com/info.php en tu navegador.
  2. Busca la sección memory_limit.
  3. IMPORTANTE: Elimina este archivo después de usarlo, ya que es un riesgo de seguridad.

Solución 1: Aumentar la memoria PHP desde el archivo .htaccess (la más fácil)

Esta es la primera solución que debes probar, y funciona en la mayoría de los casos. El archivo .htaccess es como el "libro de instrucciones" de tu servidor Apache.

Paso a paso:

  1. Conecta a tu hosting mediante FTP o usa el administrador de archivos de Syspanel.
  2. Busca el archivo llamado .htaccess en la carpeta raíz de tu PrestaShop (donde están las carpetas admin, modules, img, etc.).
  3. Descárgalo para tener una copia de seguridad.
  4. Ábrelo con un editor de texto plano (como el Bloc de notas o Notepad++).
  5. Al principio del archivo, añade estas líneas:
<IfModule mod_php7.c>
php_value memory_limit 512M
php_value max_execution_time 300
</IfModule>
  1. Guarda los cambios y sube el archivo de nuevo.
  2. Comprueba si el error ha desaparecido.

[TIP] Si tu servidor usa PHP 8, cambia mod_php7.c por mod_php8.c. Si no estás seguro, prueba con ambos dentro de la etiqueta <IfModule>.


Solución 2: Modificar el archivo php.ini (más avanzado)

Si el .htaccess no funciona, es porque tu servidor no permite modificar la configuración desde ahí. En ese caso, necesitas acceder al archivo php.ini.

¿Dónde está el archivo php.ini?

  • Si usas Syspanel (el panel de control con puerto 2106), ve a la sección de Archivos o Configuración de PHP.
  • También puedes crearlo en la carpeta raíz de tu tienda si no existe.

Cómo hacerlo:

  1. Crea un archivo llamado php.ini en la carpeta raíz de PrestaShop.
  2. Dentro, escribe:
memory_limit = 512M
max_execution_time = 300
  1. Guarda y sube el archivo.
  2. Refresca tu tienda.

[WARNING] Si usas un hosting compartido, es posible que no puedas crear un php.ini propio. En ese caso, contacta con tu proveedor de hosting y pídeles que aumenten el límite de memoria PHP para tu cuenta.


Solución 3: Aumentar la memoria desde Syspanel (si tu hosting lo usa)

Si tu hosting utiliza Syspanel como panel de control, el proceso es muy sencillo y no necesitas tocar archivos técnicos.

Pasos:

  1. Accede a Syspanel usando la URL https://tudominio.com:2106 (recuerda, el puerto es el 2106).
  2. Inicia sesión con tus credenciales de administrador del hosting.
  3. Busca la sección PHP o Configuración de PHP.
  4. Localiza la opción memory_limit.
  5. Cambia el valor de 128M a 512M o incluso 1G si tu servidor tiene recursos suficientes.
  6. Guarda los cambios.
  7. Espera unos segundos y recarga tu tienda.

[INFO] Si no ves estas opciones en Syspanel, puede que tu plan de hosting no lo permita. En ese caso, contacta con soporte técnico de tu proveedor y pídeles que aumenten el límite de memoria.


Solución 4: Modificar el archivo de configuración de PrestaShop (último recurso)

Esta solución es menos recomendada, pero puede funcionar si las anteriores no son posibles.

  1. Busca el archivo config/settings.inc.php en tu instalación de PrestaShop (en versiones anteriores a 1.7) o app/config/parameters.php (en versiones 1.7 o superiores).
  2. Haz una copia de seguridad antes de editarlo.
  3. Añade esta línea al final del archivo:
ini_set('memory_limit', '512M');
  1. Guarda los cambios.

[WARNING] Esta solución se aplica solo a la tienda y no a todo el servidor. Además, si actualizas PrestaShop, es posible que se pierda el cambio. Úsala solo si las demás opciones no funcionan.


Solución 5: Contactar con tu proveedor de hosting

Si después de probar todo esto el error memoria PrestaShop sigue apareciendo, el problema puede estar en la configuración global del servidor. En ese caso:

  1. Contacta con el soporte técnico de tu hosting.
  2. Explícales que necesitas aumentar el memory_limit de PHP.
  3. Indícales que tu tienda PrestaShop necesita al menos 512M para funcionar correctamente.

La mayoría de los proveedores de hosting compartido pueden hacer este cambio en minutos.


Consejos adicionales para evitar el error en el futuro

Aumentar la memoria PHP es una solución temporal si el problema de fondo es un consumo excesivo de recursos. Aquí tienes algunos consejos para optimizar tu tienda:

1. Desactiva módulos innecesarios

  • Ve a MódulosMódulos y servicios.
  • Desactiva todos los módulos que no uses.
  • Actívalos de uno en uno y comprueba si el error vuelve a aparecer.

2. Optimiza las imágenes

  • Usa imágenes en formato WebP cuando sea posible.
  • Comprime las imágenes antes de subirlas.
  • Usa herramientas como Smush o TinyPNG.

3. Reduce el número de productos por página

  • Ve a Parámetros avanzadosRendimiento.
  • Reduce el número de productos que se muestran por página.

4. Activa la caché de PrestaShop

  • En Parámetros avanzadosRendimiento, activa la caché.
  • Usa el modo de caché Combining, Compress, and Cache (CCC) para CSS y JavaScript.

5. Actualiza todo

  • Mantén PrestaShop, los módulos y el tema siempre actualizados.
  • Las versiones nuevas suelen ser más eficientes en el uso de memoria.

6. Revisa los logs de errores

  • En Parámetros avanzadosLogs, revisa si hay errores repetidos.
  • Esto te ayudará a identificar qué módulo o función está consumiendo demasiada memoria.

Preguntas frecuentes (FAQ)

¿Cuál es el valor recomendado de memory_limit para PrestaShop?

Para una tienda pequeña o mediana, se recomienda al menos 256M. Para tiendas grandes con muchos productos y módulos, lo ideal es 512M o incluso 1G.

¿Qué pasa si pongo un valor demasiado alto?

Si pones un valor muy alto (como 2G o más) y tu servidor no tiene suficiente memoria RAM, podrías ralentizar otros sitios web en el mismo servidor o incluso provocar caídas. Es mejor ir aumentando de forma progresiva.

¿Puedo aumentar la memoria sin acceso al servidor?

Sí, la solución del .htaccess funciona en la mayoría de los casos. Si no, necesitarás contactar con tu proveedor de hosting.

¿El error de memoria puede afectar a mis clientes?

Sí, si el error ocurre durante el proceso de compra o al cargar el carrito, tus clientes no podrán completar sus pedidos. Es importante resolverlo cuanto antes.

¿Debo eliminar el archivo info.php después de usarlo?

Sí, absolutamente. Ese archivo muestra información sensible sobre tu servidor y puede ser explotado por hackers. Elimínalo en cuanto termines de consultar los datos.


Resumen final

El error memoria PrestaShop es un problema común pero totalmente solucionable. La clave está en aumentar el memory_limit de PHP, ya sea desde el .htaccess, el php.ini, Syspanel o contactando con tu hosting.

Recuerda este orden de acciones:

  1. Prueba con el .htaccess (la solución más rápida).
  2. Si no funciona, usa Syspanel (puerto 2106) o crea un php.ini.
  3. Si no tienes acceso, contacta con tu proveedor.
  4. Optimiza tu tienda para evitar futuros problemas.

Con un poco de paciencia y estos pasos, tu tienda volverá a funcionar sin problemas. Y si te quedas atascado en algún paso, no dudes en pedir ayuda a tu proveedor de hosting: para eso están.

[TIP] Guarda siempre una copia de seguridad de los archivos que modifiques. Si algo sale mal, puedes restaurarlos fácilmente y volver a intentarlo con otra solución.

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel