Cómo aumentar el límite de memoria en PrestaShop desde DirectAdmin
¿Por qué aparece el error de memoria en PrestaShop?
Si estás gestionando una tienda online con PrestaShop, es muy probable que en algún momento te hayas encontrado con un mensaje de error como "Fatal error: Allowed memory size of X bytes exhausted" o un aviso en el back office indicando que necesitas aumentar memoria PrestaShop. Este problema es más común de lo que parece y suele aparecer cuando tu tienda crece: más productos, más módulos, más visitas o al intentar subir imágenes de gran tamaño.
La buena noticia es que solucionarlo es sencillo si tienes acceso a DirectAdmin, el panel de control de tu hosting. En esta guía te voy a explicar paso a paso cómo aumentar el límite de memoria en PrestaShop desde DirectAdmin, sin necesidad de ser un experto técnico. Solo necesitas seguir las instrucciones al pie de la letra.
[INFO] Este tutorial está pensado para usuarios que usan DirectAdmin como panel de control. Si tu hosting usa otro panel como cPanel o Syspanel (antes HestiaCP, accesible por puerto 2106), el proceso puede variar ligeramente, pero los conceptos son similares.
¿Qué es el límite de memoria y por qué es importante en PrestaShop?
El límite de memoria es la cantidad máxima de memoria RAM que PHP (el lenguaje en el que está escrito PrestaShop) puede usar para ejecutar un script. Cuando tu tienda intenta realizar una tarea que requiere más memoria de la permitida, aparece el temido error memoria PrestaShop.
Estas son las causas más frecuentes:
- Catálogo grande: Tener cientos o miles de productos con imágenes pesadas.
- Módulos pesados: Algunos módulos de terceros consumen mucha memoria, sobre todo los de importación/exportación o SEO.
- Imágenes de alta resolución: Subir fotos de productos sin optimizar previamente.
- Actualizaciones: Tanto de PrestaShop como de módulos o temas.
- Tráfico elevado: Muchas visitas simultáneas pueden saturar la memoria asignada.
El valor por defecto suele ser 128M (128 megabytes) o incluso 64M en algunos hostings. Para una tienda moderna, lo recomendable es tener al menos 256M o 512M.
Requisitos antes de empezar
Antes de lanzarte a modificar archivos, asegúrate de tener lo siguiente:
- Acceso a DirectAdmin: Necesitas tu usuario y contraseña del panel de control de tu hosting.
- Acceso al administrador de archivos: DirectAdmin incluye un gestor de archivos web, pero también puedes usar FTP (FileZilla, por ejemplo).
- Un editor de texto plano: Como el bloc de notas de Windows, Notepad++ o el editor integrado de DirectAdmin. No uses Word o WordPad, ya que pueden añadir formatos extraños.
- Saber qué archivos modificar: Los dos archivos clave son
php.iniysettings.inc.php(en algunos casos).
[WARNING] Antes de modificar cualquier archivo, siempre haz una copia de seguridad. Si algo sale mal, puedes restaurar el original. Es una práctica básica de seguridad.
Método 1: Aumentar la memoria editando el archivo php.ini desde DirectAdmin
Este es el método más directo y efectivo. El archivo php.ini es el archivo de configuración global de PHP en tu hosting. Modificarlo desde DirectAdmin es muy sencillo.
Paso 1: Accede a DirectAdmin y localiza el archivo php.ini
- Inicia sesión en DirectAdmin con tus credenciales.
- Busca la sección "Administrador de archivos" (suele estar en el menú principal o en "Cuenta avanzada").
- Navega hasta la carpeta raíz de tu tienda PrestaShop. Normalmente es
public_htmlopublic_html/nombre_de_tu_tienda. - Busca el archivo
php.ini. Si no existe, puedes crearlo. Si ya existe, haz clic derecho sobre él y selecciona "Editar".
Paso 2: Modifica o añade la línea de memoria
Dentro del archivo php.ini, busca una línea que diga:
memory_limit = 128M
Si no la encuentras, puedes añadirla al final del archivo. Cámbiala por un valor superior. Por ejemplo:
memory_limit = 256M
O si tu hosting lo permite y tu tienda es grande:
memory_limit = 512M
Paso 3: Guarda y verifica
- Haz clic en "Guardar" (o "Save").
- Para verificar que el cambio se ha aplicado, ve al back office de PrestaShop: Parámetros Avanzados > Información > Información del servidor. Busca la línea "memory_limit" y confirma que aparece el nuevo valor.
Método 2: Modificar el archivo settings.inc.php de PrestaShop
En algunos casos, PrestaShop tiene su propia configuración que puede sobreescribir el php.ini. El archivo settings.inc.php contiene parámetros de la tienda, incluyendo límites de memoria.
Paso 1: Localiza y edita settings.inc.php
- Desde el Administrador de archivos de DirectAdmin, ve a la carpeta
configdentro de la raíz de tu PrestaShop (ejemplo:public_html/config/). - Busca el archivo
settings.inc.php. - Haz clic derecho y selecciona "Editar".
Paso 2: Añade la definición de memoria
Busca una línea que contenga define('_PS_MEMORY_LIMIT_', o similar. Si no existe, añádela justo después de la línea que dice <?php (al principio del archivo). Debe quedar así:
<?php
define('_PS_MEMORY_LIMIT_', '512M');
// ... resto del archivo
Paso 3: Guarda y comprueba
Guarda el archivo y vuelve a comprobar la información del servidor en el back office de PrestaShop. Este cambio fuerza a PrestaShop a usar ese límite.
[TIP] Si no ves cambios tras modificar
php.ini, prueba con este método. Algunos hostings tienen configuraciones que bloquean elphp.iniglobal.
Método 3: Usar un archivo .htaccess (solución alternativa)
Otra forma de aumentar memoria PrestaShop es mediante el archivo .htaccess, que suele estar en la raíz de tu tienda. Este método es útil si no puedes modificar php.ini por restricciones del hosting.
Paso 1: Localiza el archivo .htaccess
- En el Administrador de archivos, busca el archivo
.htaccessen la raíz de tu PrestaShop (normalmente enpublic_html). - Si no lo ves, asegúrate de que la opción "Mostrar archivos ocultos" esté activada en DirectAdmin.
- Edítalo con el editor de texto.
Paso 2: Añade las directivas PHP
Al final del archivo (o justo antes de la línea que dice # ~~start~~ si existe), añade estas líneas:
<IfModule mod_php7.c>
php_value memory_limit 256M
</IfModule>
Si tu servidor usa PHP 8.x, cambia mod_php7.c por mod_php8.c. Si no sabes qué versión usas, puedes probar con mod_php.c (genérico).
Paso 3: Guarda y prueba
Guarda los cambios y verifica en el back office. Si el servidor no lo permite, puede que veas un error 500. En ese caso, elimina las líneas y prueba con otro método.
Preguntas frecuentes (FAQ) sobre el error de memoria en PrestaShop
Aquí respondo las dudas más comunes que suelen tener los usuarios al enfrentarse a este problema.
1. ¿Qué valor de memoria debo poner? ¿Es seguro poner 512M?
Depende del plan de hosting que tengas. La mayoría de hostings compartidos permiten hasta 256M o 512M. Si pones un valor muy alto (por ejemplo, 1G) y tu hosting no lo soporta, podrías bloquear tu tienda. Lo recomendable es empezar con 256M y, si el error persiste, subir a 512M. Siempre consulta con tu proveedor de hosting si tienes dudas.
2. ¿Y si después de cambiar el php.ini sigue saliendo el error?
Puede deberse a varias razones:
- El hosting tiene un límite máximo menor (ejemplo: solo permite 128M).
- El archivo
settings.inc.phpestá sobreescribiendo el valor. - Hay un módulo o tema con un problema de código que consume demasiada memoria.
- El servidor usa Syspanel (antes HestiaCP, puerto 2106) y la configuración se maneja de forma diferente. En ese caso, contacta con el soporte técnico.
3. ¿Puedo aumentar la memoria desde el panel de control de mi hosting si no uso DirectAdmin?
Sí, pero el proceso cambia. Por ejemplo, en Syspanel (HestiaCP, puerto 2106) puedes editar el php.ini desde la sección "Configuración de PHP" o "Editar archivos". En cPanel suele haber un editor de "Seleccionar versión de PHP" donde puedes cambiar valores. Si no encuentras la opción, consulta la documentación de tu panel o pide ayuda al soporte técnico.
4. ¿Aumentar la memoria hace que mi tienda vaya más rápida?
No exactamente. Aumentar la memoria evita errores cuando se realizan tareas pesadas, pero no acelera la velocidad de carga general. Para mejorar el rendimiento, también debes optimizar imágenes, usar caché y elegir un buen hosting.
5. ¿Qué hago si no tengo acceso a DirectAdmin?
Entonces deberás pedir a tu proveedor de hosting que realice el cambio. Muchos hostings ofrecen soporte gratuito para este tipo de ajustes. También puedes intentar modificar el archivo settings.inc.php mediante FTP si tienes acceso.
6. ¿Es lo mismo el límite de memoria de PHP que el límite de memoria de PrestaShop?
Sí, básicamente es el mismo concepto. PrestaShop usa PHP, por lo que el límite de memoria de PHP es el que aplica a tu tienda. Al modificar php.ini o settings.inc.php, estás ajustando ese límite.
7. ¿Puedo usar un plugin o módulo para aumentar la memoria?
No es recomendable. Los módulos no pueden modificar la configuración del servidor. La solución siempre es a nivel de archivos de configuración (php.ini, .htaccess, settings.inc.php) o mediante el panel de control.
Conclusión: No temas al error de memoria, es fácil de solucionar
El error memoria PrestaShop es uno de los más comunes, pero también uno de los más fáciles de resolver si sigues los pasos correctos. Con DirectAdmin tienes todo lo necesario para aumentar memoria PrestaShop editando el php.ini, el settings.inc.php o el .htaccess. Recuerda siempre hacer una copia de seguridad antes de modificar cualquier archivo.
Si después de probar estos métodos el error persiste, es posible que tu plan de hosting sea demasiado limitado para las necesidades de tu tienda. En ese caso, considera migrar a un plan superior o contactar con el soporte técnico de tu proveedor.
[TIP] Si usas Syspanel (HestiaCP, puerto 2106), el proceso es similar: busca la opción "Configuración de PHP" o "Editar php.ini" dentro del panel. Si no la encuentras, accede por FTP y edita el archivo manualmente.
Ahora ya sabes cómo solucionar este problema. ¡Ponlo en práctica y dile adiós a los errores de memoria en tu tienda PrestaShop!
