Aumentar el límite de memoria en PrestaShop para Syspanel
¿Tu tienda PrestaShop te muestra errores como "Fatal error: Allowed memory size exhausted" o "Memory limit"? ¿O simplemente notas que la página de administración va lenta al guardar productos o generar informes? Este es uno de los problemas más comunes en PrestaShop, especialmente cuando instalas muchos módulos o tu catálogo crece.
La buena noticia es que aumentar el límite de memoria en PrestaShop para Syspanel es un proceso sencillo, seguro y que no requiere ser un experto en programación. En esta guía extensa y paso a paso, te explicaré exactamente qué es ese límite, por qué se agota, y cómo puedes configurarlo de forma definitiva usando tu panel de control Syspanel (accediendo por el puerto 2106).
Vamos a solucionarlo juntos, sin tecnicismos complicados.
¿Qué es el memory_limit y por qué es tan importante en PrestaShop?
El memory_limit (límite de memoria) es una configuración de PHP que define la cantidad máxima de memoria (en megabytes) que un script puede utilizar. Piensa en ello como la "batería" que tu servidor le presta a cada proceso de tu tienda.
PrestaShop es un software muy completo y "hambriento" de recursos. Cada vez que cargas un producto, generas un PDF de factura, actualizas un módulo o procesas un pedido, se ejecutan cientos de funciones PHP. Si el "plato" (memoria) es pequeño, la comida (datos) se derrama y el servidor detiene el proceso bruscamente.
Cuando ves el error de memoria PrestaShop, significa que tu tienda necesita más "batería" de la que PHP tiene configurada por defecto. Esto es especialmente común en:
- Tiendas con más de 500 productos.
- Instalaciones con muchos módulos activos.
- Plantillas (themes) complejas con muchas opciones.
- Uso de plugins de búsqueda avanzada o importación masiva de CSV.
¿Cuál es el límite recomendado? Para la mayoría de tiendas, un valor de 256M (megabytes) es el estándar ideal. Si tienes una tienda grande, 512M o incluso 1G puede ser necesario, pero empezaremos por el valor seguro.
Antes de empezar: Localiza tu acceso a Syspanel
Para este tutorial, vamos a trabajar con Syspanel, que es el panel de control que gestiona tu servidor y donde podremos cambiar la configuración de PHP de forma segura.
Recuerda:
- El acceso a Syspanel se realiza siempre a través del puerto 2106.
- La URL típica sería algo como:
https://tu-dominio.com:2106ohttp://tu-IP:2106. - Necesitarás tu usuario y contraseña de administrador del servidor (no el de tu tienda).
Si no sabes cómo entrar, revisa el correo de bienvenida de tu hosting o contacta con soporte técnico.
Método 1: Aumentar memoria PrestaShop desde Syspanel (La forma más segura)
Este es el método recomendado porque Syspanel sobrescribe las configuraciones de PHP de manera correcta y persistente, incluso si tu hosting tiene un plan compartido o VPS.
Paso 1: Accede al panel de Syspanel
Abre tu navegador y escribe la dirección con el puerto 2106. Introduce tus credenciales y entra al panel principal.
Paso 2: Busca la sección de "PHP" o "Servidor Web"
Dependiendo de la versión de Syspanel (basado en HestiaCP), la ruta puede variar ligeramente, pero normalmente la encontrarás en el menú lateral izquierdo o en la pestaña "Web".
- En el menú lateral, busca "Configuración de PHP" o "PHP Settings".
- A veces está dentro de "Avanzado" o directamente en el dominio que quieres configurar.
Paso 3: Localiza el dominio de tu tienda
En la lista de dominios, busca el nombre de tu tienda (ej: www.mitienda.com). Haz clic en el icono de "Editar" o en el engranaje de configuración, que suele estar al lado del dominio.
Paso 4: Ajusta el valor de memory_limit
Dentro de la configuración del dominio, verás una lista de parámetros de PHP. Busca la variable llamada memory_limit.
- En el campo de valor, escribe
256M(o el valor que necesites). - Si no existe la variable, puedes agregarla manualmente haciendo clic en "Añadir variable".
- Guarda los cambios con el botón "Guardar" o "Save".
Paso 5: Reinicia el servicio PHP (Importante)
A veces los cambios no surten efecto al instante. En Syspanel, busca un botón para "Reiniciar PHP" o "Restart PHP-FPM". Si no lo ves, no te preocupes, el siguiente paso (guardar configuración) suele reiniciarlo automáticamente.
Método 2: Aumentar memory_limit PrestaShop mediante archivo .htaccess (Alternativa rápida)
Si por alguna razón no puedes acceder a Syspanel o prefieres un método más directo, puedes usar el archivo .htaccess de tu tienda. Este método es válido si tu hosting usa Apache (la mayoría lo hace).
ADVERTENCIA: Haz una copia de seguridad del archivo antes de editarlo.
Paso 1: Accede a tus archivos por FTP o el Administrador de Archivos
Conecta con tu tienda mediante un cliente FTP (como FileZilla) o usa el administrador de archivos que viene integrado en Syspanel.
Paso 2: Encuentra el archivo .htaccess
Está en la raíz de tu tienda, en la misma carpeta donde están las carpetas config, img y modules. Si no lo ves, activa la opción de "mostrar archivos ocultos" en tu cliente FTP.
Paso 3: Edita el archivo
Añade estas líneas al principio del archivo .htaccess:
<IfModule mod_php7.c>
php_value memory_limit 256M
</IfModule>
O si usas PHP 8, usa esto:
<IfModule mod_php.c>
php_value memory_limit 256M
</IfModule>
Paso 4: Guarda y sube el archivo
Guarda los cambios y sube el archivo reemplazando el original. Recarga tu tienda y verifica si el error desaparece.
[TIP] Si tu hosting usa Nginx (no Apache), este método no funcionará. Deberás usar el Método 1 (Syspanel) o editar el archivo de configuración del sitio Nginx, lo cual es más complejo.
Método 3: Configurar PHP Syspanel mediante el archivo php.ini (Avanzado)
Este método es para usuarios que quieren un control total. Es más complejo, pero es la solución definitiva si los anteriores fallan.
Paso 1: Ubica tu archivo php.ini
Normalmente está en /etc/php/7.4/fpm/php.ini o en /etc/php/8.1/fpm/php.ini (la ruta exacta depende de la versión de PHP instalada en Syspanel).
Paso 2: Edita la línea memory_limit
Busca la línea que dice memory_limit = 128M (o el valor que tenga). Cámbiala por:
memory_limit = 256M
Paso 3: Reinicia el servicio PHP
Desde Syspanel (puerto 2106), ve a "Servidor" -> "Servicios" y reinicia PHP-FPM.
[WARNING] Este método afecta a todos los sitios web de tu servidor, no solo a PrestaShop. Si tienes otros sitios, asegúrate de que el valor no sea demasiado alto para tu RAM disponible.
Cómo verificar que el cambio se aplicó correctamente
Después de realizar cualquiera de los métodos anteriores, es crucial verificar que el cambio se ha aplicado. Sigue estos pasos:
- Entra a tu panel de administración de PrestaShop (la URL
/admin). - Ve a la sección "Parámetros Avanzados" -> "Información".
- Busca la fila que dice "Límite de memoria" o "Memory limit". Debería aparecer el nuevo valor (ej:
256M).
Si no aparece el cambio, es que algo se ha guardado mal o el servidor no ha recargado. Revisa los pasos anteriores.
Errores comunes y cómo solucionarlos al aumentar la memoria
A veces, aunque aumentes el límite, el error persiste. Aquí tienes las causas más frecuentes:
Error 1: Sigo viendo el error de memoria PrestaShop
- Causa: El valor que pusiste es insuficiente para la cantidad de módulos que tienes.
- Solución: Sube a
512M. Si sigue fallando, revisa si tienes un módulo "pesado" que esté haciendo llamadas infinitas. Desactiva módulos uno a uno para identificar al culpable.
Error 2: El error cambia de "memory_limit" a "max_execution_time"
- Causa: No es un problema de memoria, sino de tiempo de ejecución. PHP tarda demasiado en completar la tarea.
- Solución: Aumenta también el valor de
max_execution_timea300en el mismo lugar donde configuraste la memoria.
Error 3: No encuentro la opción en Syspanel
- Causa: La versión de Syspanel puede tener una interfaz ligeramente distinta.
- Solución: Busca en la pestaña "Web" -> "Configuración" del dominio. Si no hay opción de PHP, es que tu plan no lo permite (algunos planes compartidos bloquean esta opción). Entonces, usa el método
.htaccess.
Preguntas Frecuentes (FAQ) sobre el límite de memoria
¿Cuánta memoria necesito?
Para una tienda básica con 100 productos, 128M suele ser suficiente. Pero para un uso normal con módulos de SEO, caché y varios plugins, 256M es lo recomendable. No pongas 1G si no lo necesitas, porque desperdicias recursos del servidor.
¿Puedo poner un valor demasiado alto?
Sí. Si pones un valor mayor a la RAM física de tu servidor, puedes provocar que el servidor se quede sin memoria y se caiga. Lo ideal es no superar 512M en un VPS básico.
¿El error de memoria afecta a mis clientes o solo al admin?
Afecta a ambos. Si un cliente intenta cargar una página de producto con muchas imágenes y se agota la memoria, verá un error 500 o una página en blanco.
¿Por qué PrestaShop consume tanta memoria?
Principalmente por las funciones de caché, la generación de miniaturas de imágenes y el análisis de plantillas. Unos ajustes en el rendimiento (como activar la caché de Smarty) pueden reducir el consumo.
¿Qué hago si el error persiste tras aumentar a 512M?
Entonces el problema no es el límite, sino un bucle infinito o un módulo con fugas de memoria. Te recomiendo:
- Desactivar todos los módulos no esenciales.
- Cambiar a la plantilla por defecto (PrestaShop Classic) temporalmente.
- Vaciar la caché desde
/var/cache(si tienes acceso FTP) o desde el admin.
Consejos extra para optimizar el rendimiento de tu tienda
Aumentar el límite de memoria es solo una parte. Para evitar futuros sustos, aplica estos consejos:
- Activa la caché de PrestaShop: Ve a
Parámetros Avanzados->Rendimiento. Activa la caché de Smarty y la de combinar archivos CSS/JS. - Limpia tu base de datos: Usa módulos de limpieza para eliminar carritos abandonados y sesiones antiguas.
- Desactiva los módulos que no uses: Cada módulo activo consume memoria aunque no lo veas.
- Actualiza siempre a la última versión: Las versiones nuevas suelen ser más eficientes en el uso de recursos.
Conclusión
Configurar el memory_limit en PrestaShop es una tarea de mantenimiento básico que todo administrador de tienda debe saber hacer. Con las herramientas de Syspanel (accesible por el puerto 2106), el proceso es muy visual y seguro. Recuerda que la clave está en:
- Entrar a Syspanel.
- Buscar la configuración de PHP del dominio.
- Ajustar el valor a
256M(o superior si es necesario). - Guardar y verificar en el panel de administración.
Si has llegado hasta aquí, ya sabes cómo resolver el error de memoria PrestaShop. Aplica el método que mejor se adapte a tu nivel técnico y verás cómo tu tienda vuelve a volar. Si tienes dudas, revisa el FAQ o contacta con tu proveedor de hosting, pero siempre con la seguridad de que ya sabes cuál es el problema y cómo se soluciona.
¡Tu tienda merece tener suficiente memoria para crecer!
