Aumentar el límite de memoria PHP en PrestaShop (cPanel)
¿Tu tienda PrestaShop te muestra errores como "Allowed memory size exhausted" o "Fatal error: Out of memory"? No te preocupes, este es uno de los problemas más comunes al gestionar una tienda online, sobre todo cuando instalas módulos nuevos o tu catálogo crece.
La buena noticia es que aumentar el límite de memoria PHP en PrestaShop es un proceso sencillo, incluso si no eres un experto técnico. En esta guía completa, paso a paso y sin tecnicismos, te explicaré cómo hacerlo directamente desde tu panel de control cPanel.
Vamos a desglosar todo lo que necesitas saber: desde qué es el memory limit, hasta cómo subirlo de forma segura y sin romper nada. Al final, tendrás tu tienda funcionando más fluida y sin esos molestos errores.
¿Qué es el "Memory Limit" de PHP y por qué es importante?
El memory limit (límite de memoria) es la cantidad máxima de memoria RAM que un script de PHP (como PrestaShop) puede consumir en tu servidor. Piensa en ello como el "plato" donde se sirve la comida: si pides más de lo que cabe en el plato, el restaurante (tu servidor) te dice que no hay espacio.
Cuando tu tienda necesita más memoria de la permitida (por ejemplo, al generar un PDF de factura, procesar un carrito grande o actualizar un módulo), PHP se queda sin recursos y muestra un error fatal. Esto puede pasar incluso en tiendas pequeñas si el valor configurado es demasiado bajo.
El valor por defecto suele ser 128M (128 megabytes), pero para PrestaShop se recomienda tener al menos 256M o incluso 512M si usas muchos módulos o tu catálogo es extenso.
Síntomas de que necesitas aumentar la memoria PHP en PrestaShop
Antes de lanzarnos a configurar, identifica si estos signos te suenan:
- "Fatal error: Allowed memory size of X bytes exhausted" (el error más común).
- La tienda carga muy lenta o se queda en blanco al acceder al panel de administración.
- No puedes instalar o actualizar módulos y temas.
- El importador de productos falla a mitad de proceso.
- Errores al generar facturas o al guardar combinaciones de productos.
Si has visto alguno de estos mensajes, es hora de actuar. Vamos a ello.
Antes de empezar: Haz una copia de seguridad
Esta regla es de oro en cualquier cambio de configuración. Aunque modificar el límite de memoria es muy seguro, siempre existe un pequeño margen de error (por ejemplo, si escribimos un carácter de más en un archivo de configuración).
[WARNING]: Haz una copia de seguridad completa de tu tienda (archivos y base de datos) antes de tocar nada. Si algo sale mal, podrás restaurar todo en minutos. En cPanel, usa la herramienta "Backup" o "Copias de seguridad" para descargar un respaldo completo.
Método 1: Aumentar el límite de memoria desde el archivo .htaccess (El más fácil)
Este es el método más rápido y el que yo recomiendo para la mayoría de los casos. El archivo .htaccess es un archivo de configuración oculto que controla cómo se comporta tu servidor con tu tienda.
Paso 1: Accede al administrador de archivos de cPanel
- Inicia sesión en tu cPanel (normalmente es
tudominio.com/cpanel). - Busca la sección "Archivos" y haz clic en "Administrador de archivos".
- Se abrirá una nueva ventana. Asegúrate de que estás en la carpeta raíz de tu tienda. Normalmente es
public_htmlo una subcarpeta comopublic_html/prestashop.
Paso 2: Localiza el archivo .htaccess
Dentro de la carpeta de tu tienda, busca el archivo llamado .htaccess. Si no lo ves, activa la opción "Mostrar archivos ocultos" (en la esquina superior derecha del Administrador de archivos).
Paso 3: Edita el archivo
Haz clic derecho sobre .htaccess y selecciona "Editar" (o "Edit"). Se abrirá un editor de texto.
Paso 4: Añade la línea mágica
Al principio del archivo (antes de cualquier otra línea), pega esta línea:
php_value memory_limit 512M
También puedes añadir estas dos líneas adicionales para una mejor gestión de la memoria, aunque no son obligatorias:
php_value max_execution_time 300
php_value upload_max_filesize 64M
La primera aumenta el tiempo máximo de ejecución de scripts (útil para importaciones) y la segunda sube el tamaño máximo de subida de archivos.
Paso 5: Guarda y comprueba
Haz clic en "Guardar cambios" o "Save Changes". Ahora, ve a tu tienda y prueba a hacer algo que antes te daba error (como ir al back-office o guardar un producto).
[TIP]: Si usas una caché de PrestaShop, es recomendable que la limpies después de este cambio. Ve a Parámetros avanzados > Rendimiento y pulsa "Vaciar la caché".
Método 2: Modificar el archivo php.ini (El más completo)
Si el método anterior no funciona (a veces el servidor tiene restricciones), el siguiente paso es modificar el archivo php.ini. Este es el archivo de configuración maestro de PHP.
Paso 1: Crea o localiza el php.ini
En el Administrador de archivos de cPanel, busca un archivo llamado php.ini en la raíz de tu tienda. Si no existe, tendrás que crearlo.
Paso 2: Edita o crea el archivo
- Si existe: Haz clic derecho y elige "Editar".
- Si no existe: Haz clic en "+ Archivo" en la barra superior, nómbralo
php.ini(sin comillas) y luego edítalo.
Paso 3: Añade la configuración
Dentro del archivo, escribe o modifica estas líneas:
memory_limit = 512M
max_execution_time = 300
upload_max_filesize = 64M
post_max_size = 64M
Paso 4: Guarda y verifica
Guarda el archivo. Ahora, para verificar que el cambio se ha aplicado, puedes ir a Parámetros avanzados > Información en tu back-office de PrestaShop. Busca la sección "PHP" y verás el valor de "memory_limit" actualizado.
Método 3: Usar el selector de versiones de PHP (MultiPHP INI Editor)
cPanel tiene una herramienta gráfica muy útil que evita tocar archivos manualmente. Se llama "MultiPHP INI Editor".
Paso 1: Busca la herramienta
En tu cPanel, dentro de la sección "Software", busca el icono de "MultiPHP INI Editor".
Paso 2: Selecciona tu dominio
En el desplegable, selecciona el dominio o subdominio donde está instalada tu tienda PrestaShop.
Paso 3: Ajusta el valor
Busca la línea memory_limit y cambia el valor a 512M (o el que necesites). También puedes ajustar max_execution_time y upload_max_filesize desde aquí.
Paso 4: Aplica los cambios
Haz clic en "Apply" o "Aplicar". Listo, es así de sencillo. Este método es el más recomendado si tu hosting usa CloudLinux o una configuración de PHP por directorios.
Método 4: Desde el archivo config/settings.inc.php (Solo para PrestaShop 1.6 o inferior)
[WARNING]: Este método es para versiones antiguas de PrestaShop (1.6 y anteriores). Si usas PrestaShop 1.7 o 8, no uses este método, ya que el archivo ha cambiado.
Si tienes una tienda antigua, puedes forzar el límite de memoria desde el archivo de configuración principal.
- Ve al Administrador de archivos de cPanel.
- Navega a la carpeta
configdentro de tu instalación de PrestaShop. - Busca el archivo
settings.inc.php. - Edítalo y añade esta línea justo después de la línea que define
_DB_PASSWD_:
@ini_set('memory_limit', '512M');
Guarda el archivo. Este método es un "parche" que fuerza la configuración.
¿Cuál es el valor ideal de memoria para mi PrestaShop?
No hay una respuesta única, pero aquí tienes una guía orientativa:
- Tiendas pequeñas (menos de 500 productos, pocos módulos): 256M es suficiente.
- Tiendas medianas (entre 500 y 5000 productos, varios módulos): 512M es lo recomendado.
- Tiendas grandes (más de 5000 productos, muchos módulos y tráfico alto): 768M o incluso 1G (1024M).
[INFO]: Si tu servidor no tiene suficiente RAM física, subir estos valores no servirá de nada. El límite de memoria es un tope, no una asignación automática. Si tu plan de hosting es muy básico, considera mejorar tu plan o hablar con tu proveedor.
Solución de problemas: ¿Y si después de subir el límite sigue el error?
Si has seguido todos los pasos y el error de memoria persiste, revisa lo siguiente:
-
¿Guardaste los archivos correctamente? A veces el editor añade una extensión extra (como
.txt) al archivo.htaccess. Asegúrate de que el archivo se llama exactamente.htaccessy no.htaccess.txt. -
¿Estás editando la carpeta correcta? Verifica que estás en la raíz de tu tienda y no en una subcarpeta de instalación.
-
¿Tu hosting permite estos cambios? Algunos proveedores de hosting compartido bloquean la modificación del
memory_limitdesde.htaccess. En ese caso, usa el MultiPHP INI Editor (Método 3) que es la vía oficial. -
¿Tienes un plugin de caché? Limpia la caché de PrestaShop y la de tu navegador después de hacer los cambios.
-
¿El error viene de un módulo específico? Si el error solo aparece con un módulo concreto, el problema puede ser del módulo y no de la memoria. Prueba a desactivarlo y ver si el error desaparece.
Preguntas Frecuentes (FAQ)
¿Puedo romper mi tienda si subo mucho el límite de memoria?
No, subir el límite no rompe nada. Lo que puede ocurrir es que si pones un valor demasiado alto (como 1G) en un servidor con poca RAM, el servidor se vuelva lento. Empieza con 512M, que es un valor seguro y equilibrado.
¿Por qué mi hosting tiene un límite de memoria tan bajo?
Los planes de hosting compartido limitan los recursos para que un solo sitio no consuma toda la memoria del servidor y afecte a los demás usuarios. Es una práctica estándar.
¿Necesito reiniciar algo después de cambiar el límite?
No, los cambios en .htaccess o php.ini se aplican al instante. Solo tienes que recargar la página de tu tienda.
¿Qué hago si no tengo acceso a cPanel?
Si tu hosting no te da cPanel (por ejemplo, si usas un panel propietario o un servidor dedicado sin panel), deberás contactar con tu proveedor de hosting y pedirles que aumenten el memory_limit. Ellos lo harán por ti.
¿Es lo mismo "memory limit" que "RAM" del servidor?
No exactamente. El memory_limit es un límite por script de PHP. La RAM es el total de memoria física del servidor. Si tu servidor tiene 2GB de RAM y pones un límite de 1G por script, un solo script podría usar la mitad de la RAM del servidor, lo cual no es recomendable.
Consejo final: Mantén tu PrestaShop optimizado
Subir el límite de memoria es una solución rápida, pero no lo es todo. Para evitar futuros problemas, te recomiendo:
- Desactiva los módulos que no uses.
- Actualiza PrestaShop y todos los módulos a su última versión.
- Optimiza las imágenes de tus productos (el peso de las imágenes es una de las principales causas de consumo de memoria).
- Contrata un hosting de calidad que ofrezca recursos suficientes para PrestaShop.
[TIP]: Si después de estos cambios tu tienda sigue dando problemas de rendimiento, valora la posibilidad de contratar un hosting especializado en PrestaShop o un VPS. A largo plazo, es una inversión que merece la pena.
Con estos cuatro métodos, tendrás tu memory limit prestashop configurado correctamente y olvidarás los errores de memoria. Recuerda que el método más rápido y eficaz es el del archivo .htaccess, pero si tu hosting no lo permite, el MultiPHP INI Editor es tu mejor aliado.
Espero que esta guía te haya sido de gran ayuda. Si tienes alguna duda, déjala en los comentarios y estaré encantado de ayudarte a aumentar memoria php prestashop sin complicaciones. ¡Tu tienda te lo agradecerá!
