Cómo aumentar el límite de memoria en PrestaShop (PHP memory_limit)
¿Por qué aparece el error 500 en PrestaShop y qué tiene que ver con la memoria?
Si estás leyendo esto, probablemente te has encontrado con un mensaje blanco que dice "Error 500" o un aviso de que la memoria se ha agotado en tu tienda. No te preocupes, es mucho más común de lo que piensas y, sobre todo, tiene solución.
PrestaShop es una plataforma potente, pero también es bastante exigente con los recursos del servidor. Cada módulo, cada tema y cada proceso (como generar un PDF de una factura o actualizar el catálogo) consume una cantidad de memoria PHP. Cuando esa cantidad supera el límite permitido por tu hosting, el servidor detiene la ejecución y muestra un error.
El culpable principal suele ser el parámetro memory_limit de PHP. Este valor indica cuánta memoria máxima puede usar un script. Si tu tienda tiene muchos productos, módulos pesados o un tema con muchas funciones, el límite por defecto (que a menudo es de 128M o incluso menos) se queda corto.
A lo largo de esta guía, te voy a explicar paso a paso cómo aumentar la memoria en PrestaShop, tanto desde el panel de control de tu hosting (como cPanel o Syspanel) como editando archivos directamente. Al final, también resolveré las dudas más frecuentes (FAQ) para que no te quede ninguna pregunta en el tintero.
¿Cuál es el límite de memoria recomendado para PrestaShop?
Antes de lanzarnos a cambiar valores, es importante saber a dónde queremos llegar. PrestaShop, en su documentación oficial, recomienda un mínimo de 256 MB para un funcionamiento correcto. Sin embargo, si tienes una tienda con muchas extensiones o un tráfico elevado, lo ideal es subir a 512 MB o incluso 1 GB en casos extremos.
Aquí tienes una tabla orientativa:
| Tipo de tienda | Memoria recomendada |
|---|---|
| Tienda pequeña (pocos productos, sin módulos pesados) | 256 MB |
| Tienda mediana (catálogo amplio, algunos módulos) | 384 MB |
| Tienda grande (multitienda, muchos módulos, tráfico alto) | 512 MB o más |
El objetivo no es poner el valor más alto posible, sino el adecuado para que tu tienda funcione estable. Un valor excesivamente alto no hará que tu web vaya más rápida, solo permitirá que los scripts usen más memoria si la necesitan.
Antes de empezar: cómo comprobar el límite actual
Para saber cuánta memoria tienes asignada ahora mismo, puedes hacerlo de dos formas muy sencillas:
1. Desde el panel de administración de PrestaShop
- Ve a Parámetros avanzados > Información.
- Busca la sección "Parámetros del servidor".
- Localiza la línea que dice
memory_limity verás el valor actual (por ejemplo,128M).
2. Creando un archivo de prueba (más técnico)
Si prefieres verlo directamente desde el servidor, puedes crear un archivo llamado info.php en la raíz de tu tienda (carpeta public_html) con este contenido:
<?php phpinfo(); ?>
Luego, accede a tudominio.com/info.php desde tu navegador y busca la sección de PHP. Recuerda borrar este archivo después por seguridad, ya que expone información sensible de tu servidor.
Método 1: Aumentar el límite de memoria desde cPanel (php memory limit cpanel)
Si tu hosting usa cPanel, este es el método más limpio y recomendado para aumentar memoria prestashop.
Paso 1: Accede a tu panel de control
Entra en cPanel con tus credenciales de hosting. Normalmente se accede a través de tudominio.com/cpanel o tudominio.com:2083.
Paso 2: Busca la sección de "Select PHP Version"
Dentro de cPanel, busca el icono llamado "Select PHP Version" (o "Seleccionar versión de PHP"). Este suele estar en la sección "Software".
Paso 3: Cambia el valor de memory_limit
- Al hacer clic, se abrirá una página con la versión de PHP actual.
- Verás una pestaña llamada "Options" o "Opciones".
- Busca la fila de
memory_limit. - Cambia el valor a
512M(o el que hayas decidido). - Haz clic en "Apply" o "Aplicar" para guardar los cambios.
Paso 4: Verifica el cambio
Vuelve a la página de información de PrestaShop (Parámetros avanzados > Información) y comprueba que el nuevo valor aparece reflejado.
[TIP] Si no encuentras la opción "Select PHP Version", es posible que tu proveedor de hosting use una configuración diferente. En ese caso, contacta con su soporte y pídeles que aumenten el memory_limit para tu cuenta.
Método 2: Editar el archivo .htaccess (para cPanel y otros)
Si no tienes acceso a "Select PHP Version" o prefieres un método más directo, puedes modificar el archivo .htaccess de tu tienda.
Paso 1: Localiza el archivo .htaccess
Este archivo se encuentra en la carpeta raíz de tu instalación de PrestaShop (normalmente public_html). Es un archivo oculto, así que asegúrate de tener activada la opción de "Mostrar archivos ocultos" en tu gestor de archivos (File Manager) o en tu cliente FTP (como FileZilla).
Paso 2: Añade la línea de configuración
Al final del archivo .htaccess, añade las siguientes líneas:
<IfModule mod_php7.c>
php_value memory_limit 512M
</IfModule>
Si tu servidor usa PHP 8, cambia mod_php7.c por mod_php8.c. Si no estás seguro, puedes usar esta versión más genérica:
php_value memory_limit 512M
Paso 3: Guarda y sube el archivo
Guarda los cambios y sube el archivo de nuevo al servidor si lo estabas editando localmente.
[WARNING] Antes de editar el .htaccess, haz una copia de seguridad del archivo original. Si cometes un error, podrías provocar un error 500 en toda la tienda, y necesitarás restaurar la copia para arreglarlo.
Método 3: Modificar el archivo php.ini
El archivo php.ini es el archivo de configuración principal de PHP. Dependiendo de tu hosting, puede que tengas acceso a él o no.
Paso 1: Encuentra tu php.ini
Si tu hosting te permite gestionarlo, normalmente lo encontrarás en la carpeta public_html. Si no existe, puedes crearlo (a veces funciona) o contactar con tu proveedor.
Paso 2: Edita el valor de memory_limit
Dentro del archivo, busca la línea que dice:
memory_limit = 128M
Cámbiala por:
memory_limit = 512M
Paso 3: Guarda y reinicia PHP
Guarda el archivo. En cPanel, a veces es necesario reiniciar PHP o esperar unos minutos para que los cambios surtan efecto. Si no funciona, contacta con tu soporte.
[INFO] No todos los hostings permiten editar php.ini directamente. Si no puedes, prueba con el método 1 o 2.
Método 4: Aumentar la memoria desde Syspanel (antes HestiaCP)
Si tu hosting utiliza el panel Syspanel (antes conocido como HestiaCP), el proceso es diferente pero igual de sencillo. Recuerda que el acceso a este panel se realiza a través del puerto 2106 (por ejemplo, tudominio.com:2106).
Paso 1: Accede a Syspanel
Abre tu navegador y escribe la URL de tu dominio seguido de :2106. Por ejemplo: https://tudominio.com:2106.
Paso 2: Ve a la configuración de PHP
- Una vez dentro, busca la sección de "Web" o "Dominios".
- Localiza tu dominio principal.
- Busca un icono de "Configuración" o un engranaje.
- Dentro de las opciones, verás la sección de "PHP" o "PHP-FPM".
Paso 3: Cambia el memory_limit
- En la configuración de PHP, busca el campo de
memory_limit. - Cambia el valor a
512M(o el que necesites). - Guarda los cambios.
Paso 4: Reinicia el servicio PHP
Syspanel suele aplicar los cambios automáticamente, pero si no es así, busca la opción de "Reiniciar PHP" o "Restart PHP-FPM" y ejecútala.
[TIP] Si tienes dudas sobre qué valor poner en Syspanel, empieza con 256M y ve subiendo si sigues teniendo problemas. Es mejor ir ajustando poco a poco.
Método 5: Editar el archivo config/settings.inc.php (avanzado)
Este método es un poco más técnico, pero puede funcionar en algunos casos donde los anteriores no han tenido efecto.
Paso 1: Accede a la carpeta config
Dentro de tu instalación de PrestaShop, navega a la carpeta config. Allí encontrarás un archivo llamado settings.inc.php.
Paso 2: Añade la línea de memoria
Abre el archivo con un editor de texto (como el Bloc de notas o un editor de código) y añade esta línea justo después de la apertura <?php:
ini_set('memory_limit', '512M');
Paso 3: Guarda y comprueba
Guarda el archivo y vuelve a comprobar el valor en el panel de administración.
[WARNING] Este método solo debería usarse si los anteriores no funcionan, ya que modificar archivos del núcleo de PrestaShop puede causar problemas en futuras actualizaciones. Recuerda hacer una copia de seguridad antes.
Preguntas frecuentes (FAQ)
¿Por qué sigo viendo el error 500 después de aumentar la memoria?
El error 500 puede tener varias causas. Aumentar la memoria es una solución común, pero no la única. Otras causas frecuentes son:
- Permisos de archivos incorrectos (deben ser 644 para archivos y 755 para carpetas).
- Errores en el archivo
.htaccess. - Conflictos entre módulos o con el tema.
- Problemas con la versión de PHP (PrestaShop 1.7 requiere PHP 7.1 o superior).
Si el error persiste, revisa el log de errores de tu servidor (en cPanel suele estar en "Error Logs" o "Registros de errores").
¿Qué pasa si mi hosting no me permite cambiar el memory_limit?
Algunos hostings compartidos tienen restricciones y no permiten modificar este valor. En ese caso, puedes:
- Contactar con el soporte y pedirles que lo aumenten.
- Migrar a un hosting mejor que ofrezca más flexibilidad.
- Optimizar tu tienda para que consuma menos memoria (desactivando módulos innecesarios, usando un tema más ligero, etc.).
¿Cuál es la diferencia entre memory_limit, max_execution_time y max_input_vars?
Son tres parámetros distintos de PHP:
memory_limit: La cantidad máxima de memoria que un script puede consumir.max_execution_time: El tiempo máximo (en segundos) que un script puede ejecutarse.max_input_vars: El número máximo de variables que se pueden recibir en una petición (útil para formularios largos).
A veces, aumentar la memoria no es suficiente y también necesitas subir el max_execution_time (por ejemplo, a 300 segundos) para procesos pesados como importar productos.
¿Aumentar la memoria hará que mi tienda sea más rápida?
No directamente. Aumentar la memoria solo evita que los scripts se detengan por falta de recursos. Si tu tienda va lenta, el problema puede ser otro (imágenes muy pesadas, un hosting lento, consultas mal optimizadas en la base de datos, etc.).
¿Debo usar 1GB de memoria para estar seguro?
No necesariamente. Usar demasiada memoria puede ser contraproducente si tu hosting tiene límites estrictos. Empieza con 256M o 512M y observa el comportamiento. Si sigues teniendo errores de memoria, sube a 768M o 1GB.
Consejos finales para evitar el error 500 en PrestaShop
Además de aumentar memoria prestashop, te recomiendo que sigas estas buenas prácticas:
- Mantén PrestaShop actualizado a la última versión estable.
- Desactiva y elimina los módulos que no uses. Cada módulo consume recursos.
- Usa un tema ligero y optimizado.
- Activa el modo de depuración (en Parámetros avanzados > Rendimiento) para ver los errores exactos en lugar de la pantalla blanca.
- Realiza copias de seguridad periódicas de tu base de datos y archivos.
Con estos pasos y los métodos que te he explicado, podrás resolver la mayoría de los problemas de memoria y tener tu tienda funcionando sin sustos. Si te ha quedado alguna duda, revisa la sección de preguntas frecuentes o deja un comentario y te ayudaré en lo que pueda. ¡Buena suerte con tu tienda!
