Cómo aumentar el límite de memoria PHP para PrestaShop (Plesk y DirectAdmin)
Cuando tu tienda PrestaShop empieza a crecer, es muy probable que en algún momento te topes con un mensaje de error bastante molesto y críptico: "Fatal error: Allowed memory size of X bytes exhausted" o, en español, "Tamaño de memoria permitido agotado".
Este es uno de los errores más comunes en PrestaShop, especialmente al instalar módulos pesados, ampliar el catálogo de productos o actualizar el sistema. La buena noticia es que aumentar el límite de memoria PHP es un proceso sencillo y rápido si sabes dónde tocar.
En este artículo, te voy a guiar paso a paso para aumentar la memoria PHP (memory_limit) en dos de los paneles de control más utilizados en el hosting: Plesk y DirectAdmin. No necesitas ser un experto en programación, solo seguir las instrucciones al pie de la letra.
¿Qué es el memory_limit y por qué PrestaShop lo necesita?
Antes de entrar en materia, vamos a entender qué significa esto. PHP es el lenguaje de programación con el que está construido PrestaShop. Para funcionar, cada script PHP necesita un espacio en la memoria del servidor (RAM). El parámetro memory_limit es como un "tope de gasto" que define cuánta memoria puede usar un solo script.
Si tu tienda tiene muchos módulos activos, imágenes grandes o un tráfico elevado, PrestaShop necesitará más memoria para procesar todas las tareas. Cuando supera ese tope, el sistema se detiene y te muestra el temido error de memoria PrestaShop.
Por defecto, muchos servidores configuran este valor en 128M (128 Megabytes). Para una tienda estándar, se recomienda tener al menos 256M o incluso 512M para trabajar con soltura y evitar futuros dolores de cabeza.
Método universal: El archivo php.ini
Antes de usar los paneles de control, debes saber que el "lugar sagrado" donde se guardan estos valores es el archivo php.ini. Este es el archivo de configuración maestro de PHP.
Aunque los paneles de control como Plesk y DirectAdmin nos ofrecen interfaces gráficas para cambiarlo, a veces es útil saber editar el archivo directamente. Si tu hosting te permite gestionar archivos (a través de un administrador de archivos en el cPanel o FTP), puedes buscar la carpeta raíz de tu tienda (donde están las carpetas config, img, admin, etc.) y subir un archivo llamado php.ini si no existe.
Dentro de ese archivo, deberías escribir (o modificar) esta línea:
memory_limit = 512M
Guarda el archivo y listo. Sin embargo, en la mayoría de los casos, los paneles de control ofrecen una forma más limpia y visual de hacerlo sin riesgo de romper la configuración global. Vamos a ver cómo hacerlo en cada uno.
Cómo aumentar la memoria PHP en Plesk
Plesk es un panel de control muy popular en servidores dedicados y VPS. Su interfaz es intuitiva, pero a veces la opción está un poco escondida. Para configurar PHP en PrestaShop y subir el memory_limit, sigue estos pasos:
Paso 1: Accede al panel de Plesk
Inicia sesión en tu cuenta de Plesk (normalmente se accede a través de https://tu-dominio.com:8443 o una URL que te haya dado tu proveedor de hosting).
Paso 2: Encuentra la configuración de PHP
Una vez dentro, verás el listado de tus dominios. Busca el dominio donde está instalada tu tienda PrestaShop y haz clic en "Configuración de PHP" o "PHP Settings".
Si no lo ves a simple vista, busca en el menú lateral la sección de "Hosting & DNS" y luego "PHP Settings".
Paso 3: Ajusta el valor de memory_limit
Estarás en una pantalla con una lista de parámetros de PHP. Verás una tabla con campos como memory_limit, max_execution_time, upload_max_filesize, etc.
Busca la fila que dice memory_limit. Justo al lado, habrá un campo de texto o un menú desplegable.
Selecciona o escribe el valor que deseas. Te recomiendo empezar con 512M.
Paso 4: Guarda los cambios
Al final de la página o de la tabla, verás un botón llamado "Aplicar" o "Guardar". Haz clic en él.
[TIP]: En Plesk, a veces hay un selector de modo de ejecución de PHP (como "FastCGI" o "FPM"). Si tu tienda va lenta o el error persiste, asegúrate de que estás usando "Apache + PHP-FPM" o similar, ya que esto te permite tener configuraciones individuales por dominio.
Cómo aumentar la memoria PHP en DirectAdmin
DirectAdmin es otro panel muy común, conocido por su velocidad y simplicidad. El proceso aquí es igual de sencillo, aunque la interfaz ha cambiado en versiones recientes (la nueva interfaz es blanca y moderna, mientras que la antigua es azul y gris). Voy a explicar el método universal para la versión moderna, que es la que se usa actualmente.
Paso 1: Accede a DirectAdmin
Inicia sesión en tu panel de DirectAdmin (normalmente en https://tu-dominio.com:2222).
Paso 2: Ve a la gestión de dominios
En la pantalla principal, verás una lista de tus dominios. Haz clic en el nombre del dominio donde está tu PrestaShop.
Paso 3: Busca la sección de PHP
Una vez dentro de la gestión de tu dominio, desplázate hacia abajo hasta encontrar una sección llamada "PHP" o "Configuración de PHP".
En la nueva interfaz blanca, suele estar en el menú lateral izquierdo bajo el nombre de tu dominio, o como un icono con el logo de PHP en el área principal.
Paso 4: Modifica el valor
Verás una lista de ajustes. Busca "memory_limit". DirectAdmin te muestra un cuadro de texto donde puedes escribir el valor manualmente.
Escribe 512M (o el valor que prefieras) y haz clic en el botón "Guardar" o "Update" al final de la página.
[WARNING]: En DirectAdmin, es posible que necesites reiniciar el servicio de PHP o esperar unos segundos para que se apliquen los cambios. No te preocupes si no ves un botón de "reiniciar", suele aplicarse automáticamente.
Método alternativo: El archivo .htaccess
Si has intentado los pasos anteriores y el error persiste, o si tu proveedor de hosting no te permite modificar php.ini desde el panel, existe un truco muy útil. Puedes forzar el valor desde el archivo .htaccess de tu tienda.
El archivo .htaccess es un archivo de configuración oculto en la raíz de tu PrestaShop. Para editarlo:
- Conéctate a tu hosting por FTP (FileZilla) o usa el Administrador de Archivos de tu panel.
- Localiza el archivo
.htaccessen la carpeta raíz de tu tienda. - Descárgalo y ábrelo con un editor de texto (como Notepad++ o Sublime Text). Importante: No uses el Bloc de notas de Windows, ya que puede añadir caracteres extraños.
- Al final del archivo, añade estas 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.
- Guarda el archivo y súbelo de nuevo a tu hosting, reemplazando el original.
[INFO]: Este método es muy útil para aumentar memoria PHP PrestaShop en hostings compartidos donde no tienes acceso a la configuración del servidor.
¿Y si nada funciona? Revisa los módulos y el servidor
Si has realizado todos estos cambios y el error de memoria PrestaShop sigue apareciendo, el problema puede no ser el memory_limit global. A veces, un módulo específico tiene un error de código que consume memoria de forma descontrolada.
Te sugiero hacer lo siguiente:
- Desactiva módulos uno a uno: Ve a tu panel de administración de PrestaShop (la ruta es
tu-dominio.com/admin), ve a Módulos y Servicios, y ve desactivando los módulos que no uses o los que hayas instalado recientemente. Prueba la tienda después de cada desactivación. - Limpia la caché: En el panel de administración, en "Parámetros Avanzados" > "Rendimiento", activa la opción de "Forzar la compilación" y limpia la caché. Esto a veces libera memoria acumulada.
Preguntas Frecuentes (FAQ) sobre la memoria PHP
¿Cuánta memoria debo asignar a mi PrestaShop?
Depende del tamaño de tu catálogo y el número de módulos. Como regla general:
- 128M: Mínimo absoluto, solo para tiendas de prueba.
- 256M: Suficiente para una tienda pequeña o mediana con pocos módulos.
- 512M: El estándar recomendado para la mayoría de tiendas profesionales.
- 1G (1024M): Solo si tienes módulos muy pesados (como importadores masivos) o un catálogo enorme.
¿Qué significa "Allowed memory size of 134217728 bytes exhausted"?
Ese número (134217728) es la cantidad de bytes permitidos. Si divides ese número entre 1024 (para Kb) y luego entre 1024 (para Mb), te dará 128. Es decir, te está diciendo que tu límite es de 128M y se ha agotado. Es la confirmación de que necesitas aumentar la memoria PHP PrestaShop.
¿Es peligroso poner un valor muy alto?
No es peligroso, pero si pones un valor como 2G en un servidor con poca RAM, podrías saturar el servidor y hacer que tu tienda vaya muy lenta o que el servidor se caiga. Usa el sentido común y empieza con 512M.
¿Puedo aumentar la memoria desde el archivo config/settings.inc.php de PrestaShop?
No. Ese archivo guarda la configuración de la base de datos, no la configuración de PHP. No debes tocarlo salvo que sepas exactamente lo que estás haciendo.
Conclusión: Tu tienda necesita respirar
Aumentar el memory_limit es como darle más espacio en el escritorio a un empleado: le permite trabajar con más papeles sin que se le caigan. Siguiendo estos pasos, podrás configurar PHP PrestaShop correctamente y olvidarte de los errores de memoria.
Resumen rápido para Plesk: Dominio > PHP Settings > memory_limit > Guardar.
Resumen rápido para DirectAdmin: Dominio > PHP > memory_limit > Guardar.
Si prefieres la vía manual, el archivo .htaccess es tu mejor aliado. Espero que este artículo te haya sido de gran ayuda.
[TIP FINAL]: Después de hacer el cambio, siempre verifica que se ha aplicado correctamente. Puedes hacerlo creando un archivo llamado info.php en la raíz de tu tienda con el siguiente contenido:
<?php phpinfo(); ?>
Luego, accede a tu-dominio.com/info.php y busca la línea memory_limit. Verás el nuevo valor. ¡No olvides borrar ese archivo después de comprobarlo! Es un riesgo de seguridad tenerlo visible.
Ahora sí, tu PrestaShop tiene más margen de maniobra. ¡A seguir vendiendo!
