Cómo aumentar el límite de memoria PHP para PrestaShop (cPanel)
¿Por qué PrestaShop necesita más memoria PHP?
PrestaShop es una plataforma de comercio electrónico potente, pero también es bastante exigente con los recursos del servidor. Si tu tienda ha empezado a mostrar errores como "Fatal error: Allowed memory size of X bytes exhausted" o la página de administración se queda en blanco, es muy probable que necesites aumentar el límite de memoria PHP.
Este problema es más común de lo que piensas, especialmente cuando instalas módulos nuevos, actualizas el tema o tu catálogo de productos crece. La buena noticia es que aumentar el memory_limit en cPanel es un proceso sencillo que puedes hacer tú mismo sin necesidad de contactar con soporte técnico.
En esta guía te explicaré paso a paso cómo aumentar el límite de memoria PHP para PrestaShop desde cPanel, qué valores son recomendables según el tamaño de tu tienda y cómo verificar que el cambio se ha aplicado correctamente.
¿Qué es exactamente el memory_limit de PHP?
El memory_limit es una configuración de PHP que determina la cantidad máxima de memoria que un script puede consumir antes de ser detenido. Para PrestaShop, este valor es crítico porque la plataforma carga muchos archivos, ejecuta consultas a la base de datos y procesa imágenes de productos.
Cuando este límite es demasiado bajo, PHP detiene la ejecución del script y muestra un error fatal. Esto puede traducirse en una tienda que no carga, un panel de administración inaccesible o procesos que fallan a mitad de camino.
El valor predeterminado suele ser 128M o incluso 64M en algunos servidores, pero para un funcionamiento óptimo de PrestaShop se recomienda un mínimo de 256M.
Requisitos previos antes de empezar
Antes de modificar cualquier configuración, asegúrate de tener lo siguiente:
- Acceso a cPanel con permisos de administrador.
- Conocer la versión de PHP que utiliza tu hosting.
- Una copia de seguridad reciente de tu tienda (por si algo sale mal).
- Acceso al panel de administración de PrestaShop para verificar los cambios.
Si tu hosting utiliza un panel diferente como Syspanel (cuyo acceso es a través del puerto 2106), el proceso puede variar ligeramente, pero los conceptos serán los mismos.
Método 1: Aumentar la memoria PHP desde cPanel (Método recomendado)
Paso 1: Accede a tu panel de control cPanel
Escribe la URL de acceso a cPanel en tu navegador (normalmente algo como tudominio.com/cpanel) e inicia sesión con tus credenciales.
Paso 2: Busca la sección "Software" o "Administración de PHP"
En el panel principal de cPanel, busca la sección llamada "Software" o "Seleccionar versión de PHP". El nombre exacto puede variar según el proveedor de hosting, pero normalmente aparece como "MultiPHP Manager", "Select PHP Version" o "Administrador de PHP".
Paso 3: Selecciona tu dominio
En la lista de dominios, elige el que corresponde a tu tienda PrestaShop y haz clic en él para expandir sus opciones.
Paso 4: Localiza la opción "memory_limit"
Dentro de las opciones de configuración de PHP, busca el parámetro llamado "memory_limit". Puede estar en la pestaña "Opciones" o directamente en la lista de configuraciones disponibles.
Paso 5: Cambia el valor a 256M o 512M
Haz clic en el campo y selecciona el nuevo valor. Te recomiendo empezar con 256M y, si tu tienda es grande o tienes muchos módulos, subir a 512M. En la mayoría de los casos, 256M es suficiente para un funcionamiento estable.
Paso 6: Guarda los cambios
Haz clic en "Guardar" o "Apply" y espera unos segundos mientras se aplica la configuración. cPanel suele mostrar un mensaje de confirmación cuando el proceso termina.
Método 2: Modificar el archivo .htaccess
Si por alguna razón no encuentras la opción en cPanel, puedes usar el archivo .htaccess de tu tienda. Este método funciona en la mayoría de los servidores Apache.
Paso 1: Accede al administrador de archivos de cPanel
Ve a "Administrador de archivos" en cPanel y navega hasta la carpeta pública_html (o la carpeta donde tengas instalada tu tienda PrestaShop).
Paso 2: Localiza el archivo .htaccess
Busca el archivo .htaccess en la raíz de tu instalación. Si no lo ves, activa la opción "Mostrar archivos ocultos" en la esquina superior derecha.
Paso 3: Edita el archivo
Haz clic derecho sobre el archivo y selecciona "Editar" o "Edit". Añade la siguiente línea al final del archivo:
php_value memory_limit 256M
Si tu servidor utiliza PHP 7.x o superior, también puedes usar:
<IfModule mod_php7.c>
php_value memory_limit 256M
</IfModule>
Paso 4: Guarda los cambios
Haz clic en "Guardar cambios" y luego en "Cerrar". El cambio se aplicará automáticamente.
Método 3: Crear un archivo php.ini personalizado
Este método es útil si tu hosting te permite crear archivos de configuración personalizados.
Paso 1: Crea un archivo php.ini
En el administrador de archivos, navega hasta la carpeta raíz de tu tienda y crea un nuevo archivo llamado php.ini.
Paso 2: Añade la configuración
Dentro del archivo, escribe lo siguiente:
memory_limit = 256M
max_execution_time = 300
max_input_time = 300
Paso 3: Guarda y verifica
Guarda el archivo y verifica que el cambio se ha aplicado creando un archivo de prueba (info.php) con el siguiente contenido:
<?php phpinfo(); ?>
Si accedes a este archivo desde tu navegador, deberías ver el valor de memory_limit actualizado a 256M.
¿Cuánta memoria debería asignar a PrestaShop?
La cantidad de memoria que necesitas depende del tamaño de tu tienda:
- Tienda pequeña (menos de 100 productos, pocos módulos): 128M es suficiente.
- Tienda mediana (100-1000 productos, módulos básicos): 256M es lo recomendado.
- Tienda grande (más de 1000 productos, muchos módulos, tráfico alto): 512M o más.
Recuerda que asignar demasiada memoria no es un problema grave, pero puede afectar al rendimiento si otros sitios en el mismo servidor necesitan recursos.
Verificar que el cambio se ha aplicado correctamente
Después de realizar el cambio, es importante verificar que se ha aplicado correctamente. Puedes hacerlo de dos formas:
Método A: Desde el panel de administración de PrestaShop
Accede a tu panel de administración y ve a "Parámetros avanzados" > "Información". Ahí encontrarás una sección con la configuración de PHP donde podrás ver el valor actual de memory_limit.
Método B: Creando un archivo de prueba
Crea un archivo llamado info.php en la carpeta raíz de tu tienda con el siguiente contenido:
<?php
echo 'Límite de memoria actual: ' . ini_get('memory_limit');
phpinfo();
?>
Accede a este archivo desde tu navegador (tudominio.com/info.php) y busca la línea que dice "memory_limit". Deberías ver el nuevo valor.
[!WARNING] No olvides eliminar el archivo info.php después de verificar, ya que muestra información sensible de tu servidor y puede ser un riesgo de seguridad.
Problemas comunes y soluciones
El cambio no se aplica
Si después de modificar la configuración el valor sigue siendo el mismo, puede ser que tu hosting tenga restricciones. Prueba a contactar con tu proveedor de hosting y solicita que aumenten el límite.
Error 500 después del cambio
Si tu tienda muestra un error 500 después de modificar el .htaccess, es probable que la sintaxis no sea correcta. Revisa que has escrito bien la línea y que no hay espacios extra.
La tienda sigue mostrando errores de memoria
Si después de aumentar a 256M sigues viendo errores, prueba a subir a 512M. Si el problema persiste, puede que haya un módulo o tema mal optimizado que esté consumiendo demasiada memoria.
Recomendaciones adicionales para optimizar la memoria de PrestaShop
Aumentar el límite de memoria es solo una parte de la solución. Aquí tienes algunas recomendaciones extra:
- Desactiva los módulos que no uses: Cada módulo activo consume memoria.
- Optimiza las imágenes: Usa imágenes comprimidas y en formato WebP cuando sea posible.
- Activa la caché: PrestaShop tiene opciones de caché en Parámetros avanzados > Rendimiento.
- Actualiza PrestaShop: Las versiones más recientes son más eficientes en el uso de memoria.
- Revisa los logs de error: En cPanel, puedes ver los logs de error para identificar qué script está consumiendo más memoria.
Preguntas frecuentes sobre el límite de memoria PHP
¿Qué pasa si no aumento la memoria PHP?
Tu tienda puede mostrar errores fatales, dejar de cargar ciertas páginas o incluso volverse inaccesible. El panel de administración también puede verse afectado.
¿Puedo asignar 1GB de memoria?
Técnicamente sí, pero no es recomendable a menos que tu tienda sea extremadamente grande. Asignar demasiada memoria puede ralentizar el servidor y afectar a otros sitios.
¿El límite de memoria afecta a la velocidad de mi tienda?
No directamente. El límite de memoria solo determina cuánta memoria puede usar un script. Si tu tienda necesita más memoria de la asignada, fallará, pero si tiene suficiente, la velocidad dependerá de otros factores.
¿Cómo sé cuánta memoria consume mi tienda actualmente?
Activa el modo de depuración en PrestaShop (Parámetros avanzados > Rendimiento) y podrás ver el consumo de memoria al final de cada página.
Conclusión
Aumentar el límite de memoria PHP para PrestaShop es un proceso sencillo que puedes hacer desde cPanel en pocos minutos. La clave está en identificar el valor adecuado para tu tienda y aplicar el cambio correctamente.
Recuerda que este es solo uno de los muchos ajustes que puedes hacer para optimizar tu tienda. Si después de aumentar la memoria sigues teniendo problemas de rendimiento, considera revisar otros aspectos como el hosting, la configuración de la base de datos o la optimización de imágenes.
[TIP]: Si tu tienda crece con frecuencia, te recomiendo revisar el límite de memoria cada 3-6 meses para asegurarte de que sigue siendo suficiente. Un buen hábito es monitorizar los logs de error de tu servidor para detectar problemas antes de que afecten a tus clientes.
¿Has conseguido aumentar el límite de memoria de tu PrestaShop? Si tienes alguna duda o problema durante el proceso, no dudes en dejar un comentario. Estaré encantado de ayudarte.
