PrestaShop: aumentar límite de memoria PHP
¿Tu tienda PrestaShop va lenta, da errores 500 o se queda en blanco al cargar el catálogo? Esto suele pasar cuando se acaba la memoria PHP asignada. No te preocupes: es un problema común y fácil de solucionar. En este artículo te explicamos paso a paso qué es el límite de memoria PHP, por qué es importante para PrestaShop y cómo aumentarlo de forma segura desde el panel de control, los archivos de configuración o directamente con tu hosting.
¿Qué es el límite de memoria PHP y por qué afecta a PrestaShop?
PrestaShop es una plataforma de comercio electrónico potente, pero también exigente. Cada vez que un cliente visita tu tienda, el servidor ejecuta código PHP para generar la página. Si tu tienda tiene muchos productos, módulos, temas o visitas, el consumo de memoria puede dispararse.
El límite de memoria PHP es la cantidad máxima de memoria RAM que un script puede usar. Si PrestaShop necesita más memoria de la permitida, el servidor detiene el proceso y muestra un error como "Fatal error: Allowed memory size of X bytes exhausted". Esto puede traducirse en una página en blanco, errores 500, o que el panel de administración no cargue.
[INFO] La memoria RAM es como el escritorio de trabajo del servidor. Si es pequeño, no puedes abrir muchos papeles a la vez. Aumentar el límite es como poner una mesa más grande.
¿Cuál es el límite recomendado para PrestaShop?
El valor por defecto suele ser muy bajo (por ejemplo, 32M o 64M). Para PrestaShop 1.7 o versiones superiores, se recomienda al menos 128M, aunque lo ideal es 256M o incluso 512M si tienes muchos módulos o productos.
Puedes consultar el límite actual desde el panel de administración de PrestaShop: ve a Parámetros avanzados > Información > Configuración del servidor y busca "memory_limit". Si ves un valor bajo, es hora de aumentarlo.
Métodos para aumentar el límite de memoria PHP
Existen varias formas de hacerlo. Te mostramos las más comunes, ordenadas de más fácil a más técnico.
1. Desde el panel de control de tu hosting (la opción más sencilla)
Si usas un hosting compartido o un panel como cPanel, Plesk o Syspanel (el puerto de acceso es el 2106), suele haber una opción para modificar los valores de PHP.
Pasos generales:
- Accede a tu panel de control (por ejemplo,
https://tudominio.com:2106para Syspanel). - Busca una sección llamada "Gestor de PHP", "Configuración de PHP" o "PHP Settings".
- Localiza el parámetro
memory_limit. - Cámbialo a
256Mo512M. - Guarda los cambios y reinicia el servicio PHP si es necesario (a veces se aplica automáticamente).
[TIP] Si no encuentras la opción, contacta con el soporte de tu hosting. Muchas veces ellos mismos pueden hacer el cambio en segundos.
2. Modificando el archivo php.ini (más control)
El archivo php.ini es el archivo de configuración principal de PHP. Para modificarlo necesitas acceso al servidor (por FTP o SSH).
Pasos:
- Conéctate a tu servidor mediante FTP o el administrador de archivos de tu panel.
- Localiza el archivo
php.ini. Suele estar en la raíz de tu cuenta de hosting, en/etc/o dentro de la carpeta de tu sitio. Si no existe, puedes crearlo. - Abre el archivo con un editor de texto (como Notepad++ o el editor integrado).
- Busca la línea que dice
memory_limit = 128M(o el valor que tenga). Si no está, añádela. - Cambia el valor, por ejemplo:
memory_limit = 256M. - Guarda el archivo y cierra.
- Para que los cambios surtan efecto, a veces necesitas reiniciar el servidor web (Apache, Nginx) o el servicio PHP. En muchos hostings esto se hace desde el panel.
[WARNING] Si no encuentras el archivo
php.ini, no te preocupes. A menudo el hosting usa un archivo llamadophp.inien la raíz de tu sitio. Si no existe, puedes subir uno. Pero primero verifica si tu hosting permite sobreescribir valores desde un.user.inio desde el propio PrestaShop.
3. Usando el archivo .htaccess (para servidores Apache)
Si tu servidor usa Apache, puedes añadir una línea en el archivo .htaccess que se encuentra en la raíz de tu tienda PrestaShop.
Pasos:
- Conéctate por FTP y busca el archivo
.htaccessen la carpeta raíz de PrestaShop (donde está elindex.php). - Descarga una copia de seguridad por si algo sale mal.
- Abre el archivo con un editor de texto.
- Añade esta línea al principio (después de
RewriteEngine Onsi existe, o al inicio del archivo):php_value memory_limit 256M - Guarda y sube el archivo de nuevo.
- Prueba tu tienda. Si no funciona, prueba con
php_value memory_limit 512M.
[INFO] Este método solo funciona si tu hosting permite sobreescribir valores de PHP desde
.htaccess. Algunos hostings lo bloquean por seguridad. Si no ves cambios, prueba otro método.
4. Desde el archivo wp-config.php... ¡espera! En PrestaShop es diferente
A diferencia de WordPress, PrestaShop no tiene un archivo de configuración central donde se pueda definir la memoria. Sin embargo, puedes crear un archivo php.ini específico para tu tienda.
Crea un archivo php.ini en la raíz de tu sitio:
- Con un editor de texto, crea un nuevo archivo llamado
php.ini. - Escribe dentro:
memory_limit = 256M - Súbelo a la carpeta raíz de tu PrestaShop (donde está el
index.php). - Guarda y prueba.
[WARNING] No todos los hostings respetan un
php.inien la raíz. Si no funciona, intenta con el método del.htaccesso contacta con soporte.
5. Aumentar la memoria solo para el panel de administración
Si solo tienes problemas al acceder al back office (el panel de administración), puedes aumentar la memoria exclusivamente para esa zona. PrestaShop te permite hacerlo desde el propio panel, pero si no puedes entrar, modifica el archivo defines.inc.php.
Pasos:
- Conéctate por FTP.
- Ve a la carpeta
configdentro de la raíz de PrestaShop. - Abre el archivo
defines.inc.php. - Busca la línea:
define('_PS_MEMORY_LIMIT_', '128M'); - Cámbiala a:
define('_PS_MEMORY_LIMIT_', '256M'); - Guarda y cierra.
Este cambio solo afecta al panel de administración, no a la tienda pública.
¿Qué hago si nada funciona?
Si después de probar todos los métodos sigues viendo el error de memoria, puede que tu plan de hosting sea demasiado limitado. Algunos hostings económicos no permiten aumentar la memoria por encima de un límite (por ejemplo, 128M). En ese caso, tienes dos opciones:
- Actualizar tu plan de hosting a uno que ofrezca más recursos.
- Optimizar tu PrestaShop: desactiva módulos que no uses, elimina temas innecesarios, comprime imágenes y usa una CDN. A veces, reducir el consumo es más efectivo que aumentar la memoria.
[TIP] Si usas Syspanel (puerto 2106), recuerda que en la sección "PHP Settings" puedes ajustar el límite fácilmente. Si no ves la opción, contacta con el soporte de Syspanel.
Preguntas frecuentes (FAQ)
¿Aumentar la memoria PHP puede ralentizar mi servidor?
No directamente. La memoria es un recurso que se usa cuando se ejecuta un script. Si aumentas el límite, el servidor puede usar más memoria si la necesita, pero no consume más de lo que realmente usa. Sin embargo, si tu servidor tiene poca RAM física, asignar límites muy altos (como 1GB) podría causar problemas si muchos visitantes acceden a la vez. Lo recomendable es empezar con 256M y subir solo si es necesario.
¿Es peligroso modificar el archivo php.ini?
Solo si cometes un error de sintaxis. Siempre haz una copia de seguridad del archivo original antes de editarlo. Si el servidor deja de funcionar, puedes restaurar la copia.
¿Por qué mi hosting no me deja cambiar el memory_limit?
Muchos hostings compartidos tienen restricciones de seguridad. No permiten modificar ciertos valores de PHP para evitar que un sitio consuma todos los recursos. En ese caso, contacta con el soporte y pide que aumenten el límite. Si no es posible, considera migrar a un VPS o un hosting más flexible.
¿El límite de memoria afecta al rendimiento de la tienda?
Sí, un límite bajo puede causar errores y páginas en blanco, lo que ahuyenta a los clientes. Un límite adecuado (128M-256M) permite que PrestaShop funcione sin problemas. Si tu tienda es grande, 512M es seguro.
¿Cómo sé cuánta memoria está usando mi PrestaShop?
Desde el panel de administración: Parámetros avanzados > Información > Configuración del servidor. Allí verás el límite actual y el consumo real en la parte de "Uso de memoria". También puedes instalar un módulo de monitorización.
Conclusión
Aumentar el límite de memoria PHP en PrestaShop es una tarea sencilla que puede resolver muchos problemas de rendimiento y errores. Empieza siempre por el método más fácil (panel de control), y si no funciona, prueba con .htaccess o creando un php.ini. Recuerda que un valor de 256M es seguro para la mayoría de las tiendas, y 512M para las más grandes.
Si después de todo sigues teniendo problemas, revisa si tu hosting permite más recursos o plantéate una optimización más profunda de tu tienda. Con un poco de paciencia, tu PrestaShop volverá a volar.
[INFO] Mantén siempre una copia de seguridad de tu tienda antes de hacer cambios en archivos de configuración. Así, si algo sale mal, puedes restaurar fácilmente.
