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

Cómo cambiar el límite de memoria en PrestaShop (php.ini y configuración)

Actualizado el 19 de marzo de 2026

¿Por qué PrestaShop me da error de memoria?

Si estás leyendo esto, probablemente te has encontrado con un mensaje parecido a este: "Fatal error: Allowed memory size of X bytes exhausted" o un aviso de que tu tienda necesita más límite de memoria. No te preocupes, es uno de los errores más comunes en PrestaShop y tiene solución.

El error memoria en PrestaShop ocurre cuando el script de PHP necesita más memoria de la que tiene asignada para ejecutar una tarea. Esto es habitual al instalar módulos, importar productos, generar informes o incluso al navegar por el panel de administración si la tienda es grande.

Piensa en el memory limit como el espacio de trabajo que le das a cada "operario" de tu tienda. Si le das una mesa muy pequeña y le pides que monte un mueble grande, fallará. Lo mismo pasa con PHP: necesita espacio para cargar imágenes, procesar plantillas y ejecutar funciones.

La buena noticia es que cambiar el límite de memoria en PrestaShop es un proceso sencillo si sabes dónde tocar. A lo largo de esta guía te explicaré paso a paso cómo hacerlo desde diferentes vías: el archivo php.ini, archivos de configuración como .htaccess o config.inc.php, y también desde el panel de control de tu hosting.


¿Cuál es el límite de memoria recomendado para PrestaShop?

Antes de lanzarnos a cambiar valores, es importante saber qué cifras son las adecuadas. PrestaShop, por defecto, funciona con un memory limit de 128 MB en la mayoría de los servidores. Sin embargo, esto se queda corto en muchos casos.

Estos son los valores recomendados según el tamaño de tu tienda:

  • Tienda pequeña (menos de 500 productos): 128 MB es suficiente, aunque 256 MB te dará más margen.
  • Tienda mediana (500 a 5.000 productos): Entre 256 MB y 512 MB.
  • Tienda grande (más de 5.000 productos): 512 MB o incluso 1 GB si usas muchos módulos.

Te recomiendo empezar con 256 MB y, si el error persiste, ir subiendo hasta encontrar el punto óptimo. Subir el límite demasiado alto no es perjudicial, pero si tu servidor tiene poca RAM, podrías ralentizar otras aplicaciones.


Método 1: Cambiar el límite de memoria en el archivo php.ini

El archivo php.ini es el archivo de configuración principal de PHP. Aquí es donde se define el valor por defecto del memory limit para todos los sitios del servidor.

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

La ubicación exacta depende de tu proveedor de hosting y del sistema operativo del servidor. Estas son las rutas más comunes:

  • Hosting compartido (cPanel): /home/tuusuario/public_html/php.ini
  • VPS o servidor dedicado (Ubuntu/Debian): /etc/php/7.4/apache2/php.ini o /etc/php/8.0/fpm/php.ini (el número de versión puede variar)
  • Servidor con Plesk: /etc/php.ini o rutas similares según la versión.

Si no encuentras el archivo, puedes crear uno nuevo en la raíz de tu instalación de PrestaShop. Se llama php.ini y se coloca en la misma carpeta donde están las carpetas config, classes y admin.

Pasos para modificar el valor

  1. Accede a tu servidor por FTP o mediante el administrador de archivos de tu hosting.
  2. Localiza el archivo php.ini en la ruta correspondiente.
  3. Descarga el archivo y ábrelo con un editor de texto plano (como Notepad++ o Sublime Text).
  4. Busca la línea que dice memory_limit = 128M (o el valor que tenga).
  5. Cámbiala por memory_limit = 256M (o el valor que prefieras).
  6. Guarda el archivo y súbelo de nuevo al servidor.
  7. Reinicia PHP o Apache si tienes acceso. En hosting compartido, esto suele ser automático o se hace desde el panel de control.

[WARNING] Si no encuentras la línea memory_limit, no la crees al final del archivo con el formato memory_limit = 256M. PHP lo leerá correctamente, pero asegúrate de no duplicar la directiva si ya existe.


Método 2: Usar el archivo .htaccess para aumentar el memory limit

Si no tienes acceso al archivo php.ini (algo muy común en hosting compartido), otra opción es usar el archivo .htaccess. Este archivo permite modificar la configuración de PHP a nivel de directorio.

¿Qué es el .htaccess?

Es un archivo de configuración que Apache (el servidor web) lee para aplicar reglas específicas a una carpeta. Está oculto, así que tendrás que habilitar la opción "mostrar archivos ocultos" en tu cliente FTP.

Pasos para modificar el .htaccess

  1. Conecta por FTP a tu servidor y navega hasta la raíz de tu instalación de PrestaShop.
  2. Busca el archivo .htaccess. Si no existe, créalo con un editor de texto.
  3. Añade estas líneas al final del archivo:
<IfModule mod_php7.c>
    php_value memory_limit 256M
    php_value max_execution_time 300
</IfModule>

Si usas PHP 8.x, cambia mod_php7.c por mod_php.c o simplemente usa php_value sin el bloque condicional.

  1. Guarda el archivo y súbelo al servidor.
  2. Prueba tu tienda para ver si el error ha desaparecido.

[TIP] En PrestaShop, el archivo .htaccess se regenera automáticamente cuando cambias la configuración de URLs amigables. Si haces eso después de modificar el archivo, tendrás que volver a añadir las líneas.


Método 3: Modificar la configuración desde config/defines.inc.php

PrestaShop tiene un archivo de configuración central llamado config/defines.inc.php donde puedes definir el memory limit de forma específica para tu tienda.

Localiza el archivo

La ruta completa es: [tu-dominio]/config/defines.inc.php. Es un archivo crítico, así que ten mucho cuidado al editarlo. Haz una copia de seguridad antes de tocar nada.

Pasos a seguir

  1. Descarga el archivo defines.inc.php y ábrelo con un editor.
  2. Busca esta línea (suele estar alrededor de la línea 60):
define('_PS_MEMORY_LIMIT_', '128M');
  1. Cámbiala por:
define('_PS_MEMORY_LIMIT_', '256M');
  1. Guarda y sube el archivo de nuevo a su ubicación original.

[INFO] Este método es el más fiable si tu hosting no te permite tocar el php.ini ni el .htaccess. PrestaShop lee esta constante y la aplica en todas las peticiones, tanto en el front-office como en el back-office.


Método 4: Cambiar el memory limit desde el panel de control (Syspanel)

Si tu hosting utiliza Syspanel (el panel de control que antes se llamaba HestiaCP), el proceso es aún más sencillo, ya que puedes cambiar la configuración de PHP desde la interfaz gráfica sin tocar archivos.

Cómo acceder a Syspanel

  1. Abre tu navegador y ve a https://tu-servidor:2106. Recuerda que el puerto de acceso es el 2106, no el 8083 ni el 8443.
  2. Inicia sesión con tus credenciales de administrador.
  3. Selecciona el dominio donde está instalada tu tienda PrestaShop.
  4. Dentro del dominio, busca la sección "PHP" o "Configuración de PHP".

Pasos para aumentar el límite

  1. En la sección de configuración PHP, busca el campo "Memory Limit".
  2. Cambia el valor de 128M a 256M o el que necesites.
  3. Guarda los cambios. Syspanel aplicará la configuración automáticamente.
  4. Reinicia PHP-FPM si el panel te lo pide (normalmente hay un botón para ello).

[TIP] Syspanel también te permite cambiar otros parámetros útiles como max_execution_time o upload_max_filesize. Si tienes problemas con la importación de productos, sube también el max_execution_time a 300 segundos.


Verificar que el cambio se ha aplicado correctamente

Después de aplicar cualquiera de los métodos anteriores, es fundamental comprobar que el nuevo memory limit está activo.

Cómo verificar el límite de memoria

  1. Ve al panel de administración de PrestaShop (por ejemplo, tudominio.com/admin123).
  2. En el menú superior, busca "Parámetros avanzados" y luego "Información".
  3. Busca la línea que dice "Límite de memoria". Debería mostrar el valor que has configurado.

También puedes crear un archivo de prueba llamado test.php en la raíz de tu instalación con este contenido:

<?php
phpinfo();
?>

Al abrir tudominio.com/test.php, busca la sección "memory_limit" en la tabla de configuración. Verás el valor actual. Borra este archivo después por seguridad.


Errores comunes y soluciones al cambiar el memory limit

El error persiste después de cambiar el valor

Esto puede ocurrir si el cambio no se ha aplicado al intérprete PHP correcto. Verifica que:

  • Estás editando el php.ini correcto (puede haber varios en el servidor).
  • Tu hosting usa PHP-FPM y necesitas reiniciar el servicio.
  • El archivo .htaccess no está siendo sobrescrito por PrestaShop.

Aparece un error 500 después de modificar el .htaccess

Esto suele pasar si escribes mal la sintaxis. Revisa que las directivas php_value estén bien escritas y que el bloque <IfModule> sea correcto. Si no puedes acceder a tu tienda, elimina el .htaccess por FTP y vuelve a generarlo desde el panel de administración.

El valor en phpinfo() no cambia

A veces el hosting tiene configuraciones de seguridad que impiden cambiar el memory limit desde .htaccess o php.ini en el directorio. En ese caso, contacta con tu proveedor de hosting y pídeles que aumenten el límite en la configuración global del servidor.


Preguntas frecuentes sobre el límite de memoria en PrestaShop

¿Qué pasa si pongo un memory limit demasiado alto?

No pasa nada grave, pero si tu servidor tiene poca RAM, podrías ralentizar otras aplicaciones o incluso provocar que el servidor se quede sin memoria. Es mejor ir subiendo de forma gradual.

¿Por qué PrestaShop necesita más memoria que otros CMS?

PrestaShop es un sistema muy completo que carga muchas clases y funciones en cada petición. Además, los módulos de terceros pueden ser muy exigentes. Por eso es normal que necesite más memory limit que WordPress o Joomla.

¿El límite de memoria afecta al rendimiento de mi tienda?

Sí, indirectamente. Si el límite es insuficiente, la tienda fallará o será muy lenta. Pero si el límite es demasiado alto en un servidor con poca RAM, también puede ralentizar todo. Encuentra un equilibrio según tus necesidades.

¿Puedo cambiar el memory limit solo para el panel de administración?

Sí, puedes crear un archivo php.ini dentro de la carpeta de tu administrador (la que se llama admin seguido de números). Así, el panel de administración tendrá un límite mayor sin afectar a la tienda pública.


Resumen final: ¿Qué método debo usar?

Depende de tu nivel de acceso al servidor:

  • Si tienes acceso al php.ini global: usa el método 1.
  • Si tu hosting es compartido: prueba primero con el .htaccess (método 2) o con defines.inc.php (método 3).
  • Si usas Syspanel: el método 4 es el más cómodo y seguro, ya que no necesitas tocar código.

Te recomiendo empezar con 256 MB y observar el comportamiento de tu tienda. Si el error memoria aparece al importar un archivo CSV grande, sube el límite a 512 MB. Si el error ocurre al guardar un producto con muchas imágenes, también puede ser un problema de tiempo de ejecución, así que revisa el max_execution_time junto al memory limit.

Recuerda siempre hacer una copia de seguridad de los archivos que modifiques y, si tienes dudas, pregunta a tu proveedor de hosting. Cambiar el límite de memoria en PrestaShop no es difícil, pero hacerlo mal puede dejar tu tienda inaccesible temporalmente.

[INFO] Si después de seguir todos estos pasos el error persiste, es posible que el problema no sea el memory limit, sino un módulo conflictivo o un fallo en el código de un tema. En ese caso, desactiva módulos uno a uno para identificar el culpable.

Espero que esta guía te haya sido útil. Con un poco de paciencia y estos pasos, tu tienda PrestaShop volverá a funcionar sin problemas de memoria.

¿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