Aumentar el límite de memoria PHP en PrestaShop (Plesk, cPanel, DirectAdmin)
¿Tu tienda PrestaShop te muestra un error de memoria PHP y no sabes qué hacer? No te preocupes, es uno de los problemas más comunes al administrar una tienda online, sobre todo cuando instalas módulos nuevos o tu catálogo crece. En este artículo te voy a explicar, paso a paso y sin tecnicismos innecesarios, cómo aumentar el límite de memoria PHP en PrestaShop tanto si usas Plesk, cPanel o DirectAdmin. Al final, también encontrarás una sección de preguntas frecuentes para resolver las dudas más típicas. Vamos a ello.
¿Qué es exactamente el error de memoria PHP en PrestaShop?
Cuando ves un mensaje blanco en tu tienda que dice algo como Fatal error: Allowed memory size of X bytes exhausted, significa que PHP (el motor que ejecuta PrestaShop) ha agotado la memoria que tiene asignada para trabajar. Piensa en ello como si fuera el espacio de trabajo en tu escritorio: si tienes demasiados papeles (módulos, imágenes, consultas a la base de datos) y tu escritorio es pequeño, acabas sin espacio y todo se bloquea.
El valor por defecto en muchos servidores es de 128M o incluso 64M, pero PrestaShop, especialmente en versiones modernas o con muchos productos, recomienda al menos 256M o incluso 512M para tiendas grandes. Aumentar el memory_limit de PrestaShop es una solución segura y necesaria en la mayoría de los casos.
¿Por qué es importante aumentar el memory_limit en PrestaShop?
Un límite de memoria bajo no solo causa errores feos en pantalla. También puede provocar que:
- No puedas instalar o actualizar módulos y temas.
- El proceso de pago falle a mitad de camino.
- El panel de administración vaya lento o no cargue.
- Las imágenes de producto no se generen correctamente.
- La gestión de stock o pedidos se interrumpa.
Por tanto, saber cómo aumentar el límite de memoria PHP en PrestaShop no es un capricho, es una necesidad para mantener la salud de tu negocio online. La buena noticia es que no necesitas ser un experto en programación para hacerlo. Solo tienes que seguir los pasos que te doy a continuación según el panel de control que uses.
Antes de empezar: haz una copia de seguridad
[WARNING]
Antes de tocar cualquier archivo de configuración, es obligatorio que hagas una copia de seguridad completa de tu tienda (archivos y base de datos). Un simple error al guardar un archivo puede dejar tu web en blanco. Si no sabes cómo hacerlo, pregunta a tu proveedor de hosting o consulta nuestra guía de copias de seguridad. No te saltes este paso, por favor.
Cómo aumentar el límite de memoria PHP en PrestaShop con Plesk
Plesk es un panel de control muy popular en servidores dedicados y VPS. Tiene una interfaz limpia y el proceso es bastante sencillo si sabes dónde mirar.
Paso 1: Accede a la configuración de PHP
- Entra en tu panel de Plesk (normalmente en
https://tu-dominio.com:8443). - En el menú lateral izquierdo, busca tu dominio y haz clic en "Hosting y DNS" o directamente en "Configuración de PHP" (dependiendo de la versión de Plesk, puede variar ligeramente).
Paso 2: Modifica el valor de memory_limit
Dentro de la configuración de PHP, verás una lista de parámetros. Busca la fila que dice memory_limit. Haz clic en el icono de lápiz o en el valor para editarlo.
- Cambia el valor a
256Mo512M(te recomiendo empezar por 256M para la mayoría de tiendas). - Guarda los cambios.
Paso 3: Verifica que se ha aplicado
Plesk suele aplicar los cambios al instante, pero a veces es necesario reiniciar PHP o esperar unos segundos. Para comprobarlo, puedes ir a "Administración de archivos" y crear un archivo llamado test.php con el siguiente contenido:
<?php phpinfo(); ?>
Súbelo a la raíz de tu tienda y accede a https://tu-dominio.com/test.php. Busca la línea memory_limit y verifica que muestra el nuevo valor. No olvides borrar este archivo después de la prueba, ya que es un riesgo de seguridad.
[TIP]
Si Plesk no te deja editar el valor directamente, es porque tu proveedor de hosting lo tiene bloqueado. En ese caso, tendrás que usar el método alternativo con el archivo .htaccess que explico más abajo.
Cómo aumentar el límite de memoria PHP en PrestaShop con cPanel
cPanel es, sin duda, el panel de control más extendido en el hosting compartido. El proceso aquí es muy visual y no requiere tocar código si usas la interfaz.
Paso 1: Entra en el selector de versiones de PHP
- Inicia sesión en tu cPanel (normalmente en
https://tu-dominio.com/cpanel). - Busca la sección "Software" o "Motor de aplicaciones".
- Haz clic en "Select PHP Version" (Seleccionar versión de PHP) o "MultiPHP Manager", dependiendo de la versión de cPanel.
Paso 2: Ajusta el memory_limit en la configuración de PHP
Una vez dentro, verás una lista de opciones de configuración. Localiza memory_limit y cambia el valor.
- Si usas MultiPHP Manager, primero selecciona tu dominio en la lista y luego haz clic en "Switch to PHP Options".
- Cambia
memory_limita256Mo512M. - Haz clic en "Apply" o "Save".
cPanel aplicará los cambios automáticamente a todas las cuentas que tengas seleccionadas.
Paso 3: Comprueba el resultado
Al igual que con Plesk, puedes usar el archivo test.php con phpinfo() para verificar el nuevo valor. Recuerda borrarlo después.
[INFO]
En cPanel, si tu proveedor tiene activado "CloudLinux" con límites de memoria por cuenta, es posible que el valor máximo que puedas poner esté restringido. Si ves que no puedes subir de 256M, contacta con soporte.
Cómo aumentar el límite de memoria PHP en PrestaShop con DirectAdmin
DirectAdmin es otro panel muy común, especialmente en servidores más económicos. Aunque su interfaz es menos moderna, es igual de funcional.
Paso 1: Accede a la configuración de PHP
- Entra en tu DirectAdmin (normalmente en
https://tu-dominio.com:2222). - Ve a "Gestión de cuentas" y selecciona tu dominio.
- Busca la opción "Configuración de PHP" o "PHP Settings".
Paso 2: Modifica el valor de memory_limit
En la lista de directivas, busca memory_limit. DirectAdmin te permite editar el valor directamente en un campo de texto o con un menú desplegable.
- Escribe
256Mo512M. - Pulsa "Guardar" o "Save".
Paso 3: Reinicia PHP si es necesario
En DirectAdmin, a veces los cambios no se aplican hasta que reinicias el servicio de PHP. Puedes hacerlo desde la sección "Servicios" o simplemente esperar unos minutos. Si no funciona, reinicia el servicio de Apache o LiteSpeed desde el panel.
Método universal: editar el archivo .htaccess de PrestaShop
Si tu panel de control no te permite cambiar el memory_limit desde la interfaz (algo que pasa a veces en hosting muy restrictivos), siempre puedes usar el archivo .htaccess de tu tienda. Este método funciona en cualquier servidor Apache o LiteSpeed.
Paso 1: Localiza el archivo .htaccess
Este archivo se encuentra en la raíz de tu instalación de PrestaShop (donde están las carpetas admin, classes, config, etc.). Si no lo ves, asegúrate de que tu gestor de archivos o FTP tiene activada la opción de "mostrar archivos ocultos".
Paso 2: Añade las líneas de configuración
Abre el archivo con un editor de texto plano (como el Bloc de notas o Sublime Text) y añade estas líneas al principio del archivo:
<IfModule mod_php7.c>
php_value memory_limit 256M
php_value max_execution_time 300
php_value max_input_time 300
</IfModule>
Si tu servidor usa PHP 8, cambia mod_php7.c por mod_php8.c. Si no estás seguro de la versión, puedes usar simplemente:
php_value memory_limit 256M
Paso 3: Guarda y sube el archivo
Guarda los cambios y sube el archivo de nuevo a tu servidor si lo estabas editando en local. Refresca tu tienda y comprueba si el error ha desaparecido.
[WARNING]
Hacer cambios en el .htaccess puede romper tu web si introduces algún error tipográfico. Si ves un error 500 después de guardar, simplemente revierte los cambios (quita las líneas que añadiste) y vuelve a subir el archivo original.
¿Qué valor de memory_limit debo elegir?
No hay una respuesta única, pero te doy una guía orientativa:
- 128M: Para tiendas muy pequeñas, con pocos productos y sin módulos pesados. Puede funcionar, pero es justo.
- 256M: El estándar recomendado por PrestaShop para la mayoría de tiendas. Es un buen punto de partida.
- 512M: Para tiendas con catálogos grandes (más de 1000 productos), muchos módulos activos o que usan funciones de importación/exportación masiva.
- 1G o más: Solo para tiendas muy grandes o con necesidades especiales (por ejemplo, procesamiento de imágenes en alta resolución).
[TIP]
Empieza siempre con 256M. Si el error persiste, sube a 512M. No es necesario poner valores excesivos desde el principio, ya que consumirás recursos del servidor innecesariamente.
Otras formas de solucionar el error de memoria PHP en PrestaShop
Además de aumentar el memory_limit, hay otras acciones que puedes hacer para reducir el consumo de memoria:
- Desactiva módulos que no uses: Cada módulo activo consume memoria, aunque no lo veas.
- Limpia la caché de PrestaShop: Ve a
Parámetros avanzados > Rendimientoy vacía la caché. - Optimiza las imágenes: Usa herramientas de compresión para reducir el peso de las imágenes de productos.
- Actualiza PrestaShop y los módulos: Las versiones nuevas suelen estar mejor optimizadas.
- Revisa los logs de errores: A veces el problema no es la memoria en sí, sino un módulo concreto que tiene un fallo.
Preguntas frecuentes (FAQ)
¿Por qué sigo viendo el error si ya cambié el memory_limit?
Si ya lo has cambiado y sigue apareciendo el error, puede ser que:
- No hayas guardado los cambios correctamente.
- El archivo
.htaccesstenga prioridad sobre la configuración del panel. - Tienes más de un archivo
.htaccess(por ejemplo, uno en/admino en/modules). - Tu servidor usa un PHP diferente al que has configurado (por ejemplo, PHP-FPM vs mod_php).
¿Es peligroso subir el memory_limit a 512M?
No, en absoluto. Solo consumirá más memoria del servidor cuando PrestaShop lo necesite. Si tu hosting es compartido y tiene límites estrictos, puede que no te deje. En un VPS o dedicado, no hay problema.
¿Puedo usar Syspanel para hacer este cambio?
[INFO]
Si tu hosting utiliza Syspanel (antes conocido como HestiaCP), el proceso es similar al de DirectAdmin. Accede a tu panel en https://tu-dominio.com:2106, ve a la sección de tu dominio y busca la opción de configuración de PHP. Allí podrás ajustar el memory_limit. Si no encuentras la opción, usa el método del .htaccess.
¿Qué hago si no tengo acceso a ningún panel de control?
Si tu hosting no te da acceso a Plesk, cPanel o DirectAdmin, y no puedes editar el .htaccess, contacta con el soporte técnico de tu proveedor. Ellos pueden hacer el cambio por ti. Es un proceso muy común y no deberían ponerte pegas.
¿El error "Allowed memory size" puede aparecer en el panel de administración?
Sí, es muy frecuente. Sobre todo al cargar la página de configuración de módulos o al hacer clic en "Ver catálogo". Los pasos para solucionarlo son exactamente los mismos que para la parte pública de la tienda.
¿Necesito reiniciar el servidor después de cambiar el memory_limit?
Normalmente no. Los cambios en PHP se aplican al instante o en unos segundos. Si usas opcache, es posible que tengas que esperar un poco más o forzar la recarga de la caché de PHP.
Conclusión final
Aumentar el límite de memoria PHP en PrestaShop es una tarea sencilla si sabes por dónde empezar. Tanto si usas Plesk, cPanel o DirectAdmin, los pasos son muy parecidos y en menos de diez minutos puedes tener tu tienda funcionando sin errores de memoria. Recuerda siempre hacer una copia de seguridad antes de tocar nada, empezar con un valor de 256M y verificar los cambios con un archivo de prueba.
Si después de seguir esta guía el error de memoria PHP en PrestaShop persiste, no dudes en contactar con tu proveedor de hosting. A veces el problema no es el límite en sí, sino un módulo mal configurado o un servidor con recursos insuficientes. Pero con este artículo, ya tienes el 90% del camino resuelto.
Espero que te haya sido de gran ayuda. Si tienes cualquier otra duda, déjame un comentario y estaré encantado de ayudarte. ¡Buena suerte con tu tienda!
