Aumentar el límite de memoria PHP para PrestaShop (Plesk)
¿Por qué PrestaShop necesita más memoria PHP?
Si tu tienda PrestaShop se queda en blanco, muestra un error de "memoria agotada" o tarda muchísimo en cargar el panel de administración, es muy probable que el límite de memoria PHP esté siendo insuficiente. PrestaShop es un software bastante exigente, especialmente si tienes muchos módulos activos, catálogos grandes o usas temas con muchas funcionalidades.
El error típico que verás será algo como: "Fatal error: Allowed memory size of X bytes exhausted". Esto significa que el script de PHP que ejecuta tu tienda ha superado el límite de memoria asignado por el servidor.
Aumentar el memory_limit es una de las soluciones más comunes y efectivas. En este artículo te enseñaré paso a paso cómo hacerlo en un servidor con Plesk, uno de los paneles de control más utilizados en hosting compartido y VPS.
¿Cuánta memoria PHP necesita PrestaShop?
Antes de empezar a tocar configuraciones, es importante entender qué valores son recomendables. No se trata de poner una cifra enorme sin sentido, sino de darle a tu tienda el aire que necesita para respirar sin ahogarse.
Los valores recomendados según el tamaño de tu tienda son:
- Tienda pequeña (pocos productos, sin módulos pesados): 128 MB es el mínimo aceptable.
- Tienda mediana (catálogo de 100-500 productos, varios módulos): 256 MB es lo ideal.
- Tienda grande (miles de productos, módulos de caché, multitienda): 512 MB o incluso 1 GB.
[TIP] Si no sabes cuánta memoria necesita tu tienda, empieza con 256 MB. Es un valor equilibrado que funciona bien en la mayoría de los casos.
Comprobar el límite actual de memoria PHP
Lo primero es saber en qué punto estás. Plesk te permite ver la configuración de PHP de cada dominio de forma sencilla.
Para comprobarlo:
- Entra en Plesk con tu usuario administrador o de cliente.
- Ve a Sitios web y dominios.
- Busca tu tienda y haz clic en Configuración de PHP.
Aquí verás una tabla con todos los parámetros de PHP. Busca la fila que dice memory_limit. El valor que aparezca es tu límite actual.
[INFO] Si no ves la opción de configuración de PHP, es posible que tu plan de hosting no la incluya. En ese caso, contacta con tu proveedor o sigue el método del archivo
.htaccessque explico más adelante.
Método 1: Aumentar memory_limit desde el panel de Plesk (recomendado)
Este es el método más limpio y seguro, ya que Plesk se encarga de gestionar los archivos de configuración correctamente.
Paso 1: Accede a la configuración de PHP
En el panel de Plesk, ve a Sitios web y dominios y selecciona tu dominio de PrestaShop. Luego, haz clic en Configuración de PHP.
Paso 2: Modifica el valor de memory_limit
En la lista de parámetros, busca memory_limit. Verás que tiene un valor por defecto (normalmente 128M o 256M).
Haz clic en el icono de edición (normalmente un lápiz) y escribe el valor que quieras. Por ejemplo: 512M.
Paso 3: Guarda los cambios
Haz clic en Aceptar o Guardar. Plesk aplicará los cambios al instante, sin necesidad de reiniciar nada.
Paso 4: Verifica que el cambio se ha aplicado
Vuelve a entrar en la configuración de PHP y comprueba que el valor de memory_limit ha cambiado. También puedes crear un archivo de prueba llamado info.php con el contenido <?php phpinfo(); ?> en la raíz de tu tienda, pero recuerda borrarlo después por seguridad.
[WARNING] No te olvides de eliminar el archivo
info.phpdespués de comprobar la configuración. Dejarlo en el servidor es un riesgo de seguridad grave.
Método 2: Modificar el archivo .htaccess
Si tu plan de hosting no te permite cambiar la configuración de PHP desde Plesk, o si prefieres hacerlo manualmente, puedes usar el archivo .htaccess de PrestaShop.
El archivo .htaccess se encuentra en la raíz de tu tienda, junto a las carpetas modules, themes y img.
Paso 1: Accede al archivo .htaccess
Entra en el Administrador de archivos de Plesk o usa un cliente FTP como FileZilla. Busca el archivo .htaccess en la raíz de tu PrestaShop.
[TIP] Si no ves el archivo, activa la opción de "mostrar archivos ocultos" en tu cliente FTP o en el administrador de archivos de Plesk.
Paso 2: Añade las líneas de configuración
Al final del archivo .htaccess, 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. Si no estás seguro de qué módulo usa, puedes probar con:
php_value memory_limit 512M
Paso 3: Guarda y sube el archivo
Guarda los cambios y sube el archivo de nuevo al servidor, sobrescribiendo el anterior.
Paso 4: Comprueba el resultado
Vuelve a tu tienda y recarga la página. Si el error de memoria ha desaparecido, ¡perfecto!
[WARNING] Este método solo funciona en servidores Apache. Si tu hosting usa Nginx o LiteSpeed, el archivo
.htaccessno funcionará. En ese caso, tendrás que usar el método de Plesk o contactar con tu proveedor.
Método 3: Crear un archivo php.ini personalizado
Algunos servidores permiten usar un archivo php.ini en la raíz del dominio para sobreescribir la configuración global.
Paso 1: Crea el archivo php.ini
En la raíz de tu PrestaShop, crea un archivo llamado php.ini con el siguiente contenido:
memory_limit = 512M
max_execution_time = 300
upload_max_filesize = 64M
post_max_size = 64M
Paso 2: Sube el archivo
Sube el archivo a la raíz de tu tienda mediante FTP o el administrador de archivos de Plesk.
Paso 3: Verifica la configuración
Comprueba con el método del archivo info.php si el valor de memory_limit ha cambiado.
[INFO] Este método no funciona en todos los servidores. Algunos hosts ignoran los
php.inipersonalizados por motivos de seguridad. Si no funciona, usa el método 1 o contacta con tu proveedor.
Aumentar el límite de memoria para el acceso a la administración
A veces el problema solo ocurre en el panel de administración de PrestaShop, no en la tienda pública. Esto es bastante común porque el back-office carga muchos más scripts y módulos.
En ese caso, además de aumentar el memory_limit general, puedes crear un archivo php.ini dentro de la carpeta /admin de tu PrestaShop (renombra la carpeta según tu instalación, por ejemplo /admin123).
El contenido sería el mismo que antes:
memory_limit = 512M
[TIP] Si tu carpeta de administración se llama algo como
admin123oadmin2024, es una medida de seguridad. No la cambies, solo añade el archivophp.inidentro.
Optimizar memoria PrestaShop: consejos adicionales
Aumentar el límite de memoria es una solución, pero no la única. Si tu tienda sigue consumiendo mucha memoria, considera estas optimizaciones:
Activa la caché de PrestaShop
PrestaShop tiene un sistema de caché integrado. Ve a Parámetros avanzados > Rendimiento y activa la caché con el combinador de CCC (Combine, Compress and Cache). Esto reduce la carga de memoria y acelera la tienda.
Desactiva módulos innecesarios
Cada módulo activo consume memoria, incluso si no lo usas. Revisa tu lista de módulos y desactiva los que no necesites. En Módulos > Gestor de módulos puedes ver cuáles están activos y desactivarlos fácilmente.
Actualiza PrestaShop y los módulos
Cada versión de PrestaShop optimiza el uso de memoria. Si llevas tiempo sin actualizar, es posible que tu tienda consuma más recursos de los necesarios. Mantén todo actualizado.
Reduce el número de productos por página
En Parámetros avanzados > Rendimiento puedes limitar el número de productos que se muestran por página. Menos productos por página significa menos memoria utilizada.
Usa un tema ligero
Algunos temas son auténticas "bestias" que consumen muchísima memoria. Si tu tienda va lenta, prueba a cambiar a un tema más ligero o a desactivar alguna funcionalidad visual pesada.
Errores comunes y soluciones
"No puedo modificar la configuración de PHP en Plesk"
Esto ocurre cuando tu plan de hosting no incluye la gestión de PHP. Contacta con tu proveedor y pide que aumenten el memory_limit a 512M. Es una petición habitual y suelen hacerlo sin problema.
"He cambiado la configuración pero sigue dando error"
Reinicia PHP-FPM si tu servidor lo usa. En Plesk, ve a Herramientas y ajustes > PHP y reinicia el servicio. A veces los cambios no se aplican hasta reiniciar.
"El archivo .htaccess no funciona"
Como mencioné antes, esto ocurre en servidores Nginx. Usa el método de Plesk o contacta con tu proveedor.
"¿Cuánta memoria es demasiada?"
No hay un límite estricto, pero más de 1 GB suele ser innecesario para una tienda normal. Si necesitas más de 512 MB, quizás el problema no es el límite de memoria, sino un módulo mal optimizado o un servidor insuficiente.
Preguntas frecuentes (FAQ)
¿Qué es exactamente el memory_limit en PHP?
Es el valor máximo de memoria que un script PHP puede consumir antes de detenerse. PrestaShop usa muchos scripts, y cuando una página o proceso supera ese límite, aparece el error fatal.
¿Puedo aumentar el límite de memoria sin acceso a Plesk?
Sí, con el archivo .htaccess o php.ini, siempre que tu servidor lo permita. Si no funciona, tendrás que contactar con tu proveedor.
¿Afecta el aumento de memoria al rendimiento del servidor?
Sí, pero de forma positiva si tu tienda lo necesita. Si pones un valor demasiado alto, podrías saturar el servidor si tienes muchas visitas simultáneas. Es mejor empezar con 256 MB e ir subiendo según sea necesario.
¿PrestaShop 8 necesita más memoria que versiones antiguas?
Sí, las versiones más recientes de PrestaShop son más exigentes. Si actualizaste recientemente y ahora te da errores de memoria, es normal. Aumenta el límite a 512 MB y debería funcionar correctamente.
¿Qué otros valores de PHP debo ajustar además de memory_limit?
Es recomendable aumentar también max_execution_time (tiempo máximo de ejecución) a 300 segundos y upload_max_filesize a 64M si trabajas con imágenes grandes o imports de productos.
Resumen final
Aumentar la memoria PHP PrestaShop Plesk es una tarea sencilla si sigues los pasos adecuados. El método más fiable es usar el panel de Plesk, pero también tienes alternativas con .htaccess o php.ini.
Recuerda que aumentar memory_limit PrestaShop no es una solución mágica para todos los problemas de rendimiento. Si tu tienda sigue lenta después de aumentar la memoria, es momento de revisar módulos, tema y configuración de caché.
Optimizar memoria PrestaShop es un proceso continuo. No te limites a subir el límite de memoria: revisa qué está consumiendo tantos recursos y soluciona la raíz del problema.
Si después de seguir esta guía sigues teniendo problemas, no dudes en contactar con tu proveedor de hosting. Ellos pueden ver la configuración del servidor y ayudarte a encontrar la mejor solución para tu tienda.
[TIP] Guarda esta guía en tus favoritos. Cuando tu tienda crezca y necesites más recursos, ya sabrás exactamente qué hacer.
