Aumentar el límite de memoria PHP en WordPress y PrestaShop
¿Tu web de WordPress o PrestaShop se ha vuelto lenta, da errores como "Allowed memory size exhausted" o no puedes subir archivos grandes? El problema más común suele ser un límite de memoria PHP demasiado bajo. No te preocupes, es un ajuste sencillo de corregir y aquí te explicaré paso a paso cómo hacerlo, tanto para WordPress como para PrestaShop, de forma clara y sin tecnicismos.
¿Qué es el límite de memoria PHP y por qué es importante?
Imagina que la memoria PHP es como el escritorio de tu ordenador. Cuanto más grande sea, más programas y pestañas puedes tener abiertos sin que se ralentice. En WordPress y PrestaShop, este "escritorio" se usa para ejecutar scripts, cargar plugins, temas y procesar peticiones de usuarios.
Cuando el límite es demasiado bajo (por ejemplo, 32M o 64M), el sistema se queda sin espacio y muestra errores como:
- "Fatal error: Allowed memory size of 33554432 bytes exhausted"
- "Error de memoria interna del servidor"
- Problemas al instalar o actualizar plugins/temas
- La web se vuelve extremadamente lenta
Aumentar el límite de memoria PHP es una de las primeras soluciones que debes probar. Lo recomendable para sitios modernos es tener al menos 128M, y para tiendas complejas de PrestaShop, 256M o incluso 512M.
Antes de empezar: ¿Qué necesitas saber?
Para hacer estos cambios, necesitarás acceso a tu panel de control de hosting. Dependiendo de tu proveedor, puede ser cPanel, Plesk, DirectAdmin o Syspanel (antes conocido como HestiaCP, y que se accede por el puerto 2106). Si no sabes cuál tienes, consulta con tu soporte técnico.
Importante: Siempre haz una copia de seguridad de tu web antes de modificar archivos críticos. Si algo sale mal, podrás restaurarlo.
Método 1: Aumentar el límite de memoria PHP desde el archivo wp-config.php (WordPress)
Este es el método más directo para WordPress y no requiere acceso al servidor, solo a los archivos de tu web.
Paso a paso:
- Accede a tu hosting mediante FTP (FileZilla, por ejemplo) o desde el administrador de archivos de tu panel.
- Localiza el archivo wp-config.php en la raíz de tu instalación de WordPress (normalmente en
/public_html/o/www/). - Abre el archivo con un editor de texto (Bloc de Notas, Sublime Text, etc.).
- Busca la línea que dice
define('WP_MEMORY_LIMIT', '64M');. Si no existe, la añadiremos. - Justo antes de la línea
/* That's all, stop editing! Happy blogging. */, añade esta línea:
(Puedes poner 128M, 256M o 512M según necesites).define('WP_MEMORY_LIMIT', '256M'); - Guarda el archivo y súbelo de nuevo al servidor reemplazando el original.
[TIP] Si tu web tiene mucho tráfico o muchos plugins, usa 256M. Para sitios pequeños, 128M suele ser suficiente.
¿Y si no funciona?
WordPress también permite un límite de memoria para el panel de administración. Añade esta línea extra (también antes del "stop editing"):
define('WP_MAX_MEMORY_LIMIT', '512M');
Método 2: Modificar el archivo php.ini (para WordPress y PrestaShop)
Este archivo controla la configuración global de PHP. Si tu hosting te permite editarlo, es la solución más completa.
Paso a paso:
- Encuentra el archivo php.ini en la raíz de tu web. Si no existe, puedes crearlo con un editor de texto.
- Añade o modifica la siguiente línea:
(Ajusta el valor según necesites).memory_limit = 256M - Guarda el archivo y súbelo al servidor.
[WARNING] Algunos hostings bloquean la edición de php.ini por seguridad. Si no funciona, prueba con los otros métodos.
Método 3: Usar el archivo .htaccess (para ambos sistemas)
Este método funciona si tu servidor usa Apache y permite directivas de PHP.
Paso a paso:
- Localiza el archivo .htaccess en la raíz de tu web (si no existe, créalo con un editor).
- Añade estas líneas al final del archivo:
php_value memory_limit 256M - Guarda y sube el archivo.
[INFO] Si tu web usa Nginx, este método no funcionará. Prueba con los otros.
Método 4: Desde el panel de control de hosting (Syspanel, cPanel, etc.)
La mayoría de paneles modernos permiten cambiar el límite de memoria PHP desde la interfaz gráfica.
En Syspanel (HestiaCP, puerto 2106):
- Inicia sesión en tu Syspanel:
https://tudominio.com:2106 - Ve a "Web" o "Sitios web" y selecciona tu dominio.
- Busca la opción "Opciones PHP" o "PHP Settings".
- En el campo "memory_limit", cambia el valor a 256M o 512M.
- Haz clic en "Guardar" y espera unos segundos.
En cPanel:
- Ve a "Seleccionar versión de PHP" (o "MultiPHP Manager").
- Selecciona tu dominio y haz clic en "Switch to PHP Options".
- Busca "memory_limit" y cambia el valor.
- Guarda los cambios.
En Plesk:
- Ve a "Hosting Settings" de tu dominio.
- En la sección "PHP settings", busca "memory_limit".
- Ajusta el valor y guarda.
¿Cómo verificar que el cambio se aplicó correctamente?
Para asegurarte de que el nuevo límite memoria PHP está activo:
- Crea un archivo llamado
info.phpen la raíz de tu web con este contenido:<?php phpinfo(); ?> - Accede a
tudominio.com/info.phpdesde tu navegador. - Busca la línea "memory_limit" y verás el valor actual.
- ¡Importante! Borra el archivo
info.phpdespués de comprobarlo, ya que muestra información sensible de tu servidor.
[WARNING] No dejes el archivo info.php accesible públicamente. Es un riesgo de seguridad.
Solución específica para PrestaShop
Además de aumentar el límite memoria PHP PrestaShop, esta plataforma tiene sus propios requisitos. Aquí tienes pasos adicionales:
Ajustes recomendados para PrestaShop:
- memory_limit: 256M (mínimo 128M)
- max_execution_time: 120 (para procesos largos)
- upload_max_filesize: 32M (para subir imágenes)
- post_max_size: 32M
Cómo aplicarlos:
- Sigue los métodos anteriores (php.ini, .htaccess o panel).
- Desde el backoffice de PrestaShop, ve a "Parámetros avanzados" > "Rendimiento" y asegúrate de que la "Memoria máxima" sea al menos 256M.
- Limpia la caché de PrestaShop (en "Parámetros avanzados > Rendimiento > Forzar compilación" y luego "Limpiar caché").
[TIP] Si tu tienda tiene muchos productos o módulos, considera aumentar a 512M.
Solucionar errores comunes al aumentar la memoria
A veces, incluso después de hacer los cambios, pueden aparecer problemas. Aquí tienes las soluciones:
Error: "Allowed memory size exhausted" persiste
- Revisa si hay un plugin o módulo que consuma mucha memoria. Desactiva plugins uno por uno para identificar el culpable.
- Actualiza WordPress, PrestaShop, temas y plugins. Las versiones antiguas suelen ser menos eficientes.
- Aumenta el límite a 512M si tu hosting lo permite.
Error: "No se puede modificar el archivo"
- Los permisos del archivo pueden estar mal. Deben ser 644 para wp-config.php y 755 para carpetas.
- Contacta con tu hosting si no tienes permisos para editar archivos del sistema.
Error: "El panel de control no muestra la opción"
- Algunos hostings limitan los cambios a través del panel. Prueba con los métodos de archivos (wp-config.php, php.ini, .htaccess).
Preguntas frecuentes (FAQ)
¿Cuánta memoria PHP necesita WordPress?
Para un sitio básico con pocos plugins, 64M puede funcionar, pero 128M es lo recomendado. Si tienes muchos plugins, 256M es mejor.
¿Y PrestaShop?
PrestaShop es más exigente. 256M es el mínimo recomendado para tiendas con pocos productos, y 512M para tiendas grandes.
¿Puedo poner 1024M (1GB)?
Depende de tu hosting. Algunos planes limitan la memoria a 512M. Más memoria no siempre es mejor, pero si tu web lo necesita, no hay problema.
¿Qué hago si mi hosting no me deja cambiar el límite?
Cambia a un hosting que ofrezca más flexibilidad o contacta con soporte técnico. Los hostings económicos suelen tener límites bajos.
¿Aumentar la memoria PHP hace que mi web sea más rápida?
No directamente, pero sí evita errores y permite que los scripts se ejecuten sin interrupciones. La velocidad depende de otros factores como la optimización de imágenes, caché y servidor.
¿Es peligroso aumentar el límite?
No, siempre que no excedas los recursos de tu plan de hosting. Si pones 512M y tu plan solo permite 256M, el servidor lo ignorará o dará error.
Resumen final
Aumentar el límite de memoria PHP es una tarea sencilla que puede resolver muchos problemas de rendimiento y errores en WordPress y PrestaShop. Ya sea editando el archivo wp-config.php, php.ini, .htaccess o usando tu panel de control como Syspanel (puerto 2106), siempre puedes hacerlo sin ser un experto.
Recuerda:
- Haz copias de seguridad antes de modificar archivos.
- Verifica los cambios con un archivo
info.phptemporal. - Si no funciona, contacta con tu proveedor de hosting.
Con estos pasos, tu web estará más estable y podrás solucionar error memoria de forma definitiva. ¡Manos a la obra!
