🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Cómo solucionar el error 'Allowed memory size exhausted' en PrestaShop y WordPress

Actualizado el 12 de abril de 2026

¿Qué significa el error "Allowed memory size exhausted"?

Si estás leyendo esto, es muy probable que hayas visto un mensaje parecido a este en tu tienda PrestaShop o en tu blog WordPress:

[WARNING]
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 20480 bytes)

No te asustes. Este error es uno de los más comunes en el mundo del hosting y, aunque parece un jeroglífico, tiene una explicación muy sencilla. Te lo voy a traducir:

Tu sitio web (WordPress o PrestaShop) tiene un "límite de memoria" asignado por el servidor. Ese límite es como el espacio que tiene tu web para trabajar en cada petición. Si tu web necesita más memoria de la que tiene asignada, el servidor corta la ejecución y muestra ese error.

¿Por qué pasa? Las causas más frecuentes son:

  • Un plugin o módulo mal optimizado que consume demasiados recursos.
  • Un tema que no está bien programado.
  • Una base de datos muy grande o con muchas consultas pesadas.
  • Un límite de memoria demasiado bajo configurado en el servidor (algo muy típico en hostings económicos).

La buena noticia es que, en la mayoría de los casos, puedes solucionarlo tú mismo sin necesidad de ser un experto en Linux o SysAdmin. Vamos a verlo paso a paso.


Paso 1: Verifica cuál es tu límite actual de memoria

Antes de cambiar nada, necesitas saber cuánta memoria tienes asignada. Esto te ayudará a entender si el problema es un límite muy bajo o un consumo excesivo.

En WordPress

  1. Ve a Panel de administraciónHerramientasSalud del sitio.
  2. En la pestaña InformaciónServidor, busca el dato llamado "límite de memoria PHP" (o memory_limit).

Normalmente verás un valor como 64M, 128M o 256M. Si es 32M o 64M, es muy probable que ese sea el origen del problema.

En PrestaShop

  1. Ve a Parámetros avanzadosInformación.
  2. Busca la sección Configuración del servidor y localiza el valor de memory_limit.

Una vez que sepas tu valor, pasemos a la acción.


Paso 2: Aumenta el memory limit desde el archivo wp-config.php (WordPress)

Este es el método más rápido y efectivo para WordPress. Solo necesitas acceso al panel de control de tu hosting (cPanel, Syspanel, DirectAdmin, etc.) o a un cliente FTP.

[INFO]
Syspanel es el panel de control que utilizamos en nuestros servidores. Si tu hosting usa Syspanel, accede a través de https://tu-dominio.com:2106 con tus credenciales.

Procedimiento:

  1. Accede al administrador de archivos de tu hosting o conéctate por FTP.
  2. Localiza la carpeta raíz de tu WordPress (normalmente public_html o htdocs).
  3. Busca el archivo wp-config.php. Haz clic derecho y edítalo.
  4. Busca la línea que dice define('WP_DEBUG', false); o similar.
  5. Justo antes de esa línea (o antes de la línea final /* That's all, stop editing! */), añade este código:
define('WP_MEMORY_LIMIT', '256M');
define('WP_MAX_MEMORY_LIMIT', '256M');
  1. Guarda el archivo y sube los cambios.

Con esto le estás diciendo a WordPress que puede usar hasta 256 MB de memoria en cada petición. Es un valor seguro y recomendado para la mayoría de los sitios.

[TIP]
Si tu web es muy grande o usas plugins de caché, puedes subirlo a 512M. Pero no te pases de esa cifra si no es necesario, porque podría afectar al rendimiento del servidor.


Paso 3: Aumenta el memory limit en PrestaShop

En PrestaShop no hay un archivo equivalente al wp-config.php, pero puedes hacerlo modificando el archivo config/defines.inc.php.

Procedimiento:

  1. Accede por FTP o al administrador de archivos de tu hosting.
  2. Ve a la carpeta config dentro de la instalación de PrestaShop.
  3. Edita el archivo defines.inc.php.
  4. Busca la línea que dice:
define('_PS_MEMORY_LIMIT_', '128M');
  1. Cámbiala por:
define('_PS_MEMORY_LIMIT_', '256M');
  1. Guarda y sube el archivo.

[WARNING]
Asegúrate de que el archivo defines.inc.php no tenga permisos de escritura para el resto de usuarios. Normalmente debería estar en 444 (solo lectura). Si no puedes editarlo, cambia temporalmente los permisos a 644, edítalo y vuelve a ponerlo en 444.


Paso 4: Modifica el archivo .htaccess (método universal)

Si el paso anterior no funciona (a veces el hosting ignora esos valores), puedes forzar el límite desde el archivo .htaccess de la raíz de tu instalación.

Procedimiento:

  1. Accede al administrador de archivos o FTP.
  2. Busca el archivo .htaccess en la raíz (si no existe, créalo con un editor de texto plano).
  3. Añade las siguientes líneas al principio del archivo:
php_value memory_limit 256M
php_value max_execution_time 300
  1. Guarda y sube.

[WARNING]
Este método solo funciona si tu servidor usa Apache con módulo mod_php. Si usas Nginx o PHP-FPM, este archivo no tendrá efecto. En ese caso, usa el siguiente método.


Paso 5: Crea un archivo php.ini personalizado

Esta es la solución más "profesional" y funciona en la mayoría de los servidores, incluso en Nginx o LiteSpeed.

Procedimiento:

  1. En la raíz de tu instalación (o en una carpeta llamada php.ini dentro de public_html), crea un archivo llamado php.ini.
  2. Dentro, escribe:
memory_limit = 256M
max_execution_time = 300
upload_max_filesize = 64M
post_max_size = 64M
  1. Guarda el archivo.

[TIP]
Si tu hosting tiene una carpeta php.ini en la raíz, coloca el archivo ahí. Si no, créala tú mismo. Eso asegura que se aplique a todos los subdirectorios.


Paso 6: ¿Usas Syspanel? Ajusta la configuración de PHP desde el panel

Si tu hosting utiliza Syspanel (acceso por el puerto 2106), tienes una forma aún más sencilla de hacerlo sin tocar archivos.

Procedimiento:

  1. Accede a https://tu-dominio.com:2106 e inicia sesión.
  2. Busca la sección "PHP" o "Configuración de PHP" en el menú lateral.
  3. Selecciona la versión de PHP que estás usando.
  4. Busca la directiva memory_limit y cámbiala a 256M o 512M.
  5. Guarda los cambios y reinicia PHP-FPM si es necesario (Syspanel suele darte un botón para hacerlo).

Este método es el más limpio, porque no tienes que tocar código y el cambio se aplica de forma global en tu hosting.


Paso 7: ¿Y si el error persiste? Diagnóstico avanzado

Si ya has subido el límite a 256M o 512M y el error sigue apareciendo, el problema no es el límite, sino que algo en tu web está consumiendo demasiada memoria. Aquí tienes que hacer de detective:

En WordPress

  • Desactiva todos los plugins y activa uno por uno para ver cuál causa el error.
  • Cambia temporalmente a un tema por defecto (como Twenty Twenty-Four) para descartar el tema.
  • Usa un plugin de caché como W3 Total Cache o WP Rocket para reducir el consumo.
  • Optimiza la base de datos con plugins como WP-Optimize.

En PrestaShop

  • Desactiva los módulos no esenciales desde el back-office.
  • Revisa el log de errores en Parámetros avanzadosRegistros.
  • Limpia la caché en Parámetros avanzadosRendimientoVaciar caché.
  • Revisa si tienes demasiados módulos de terceros instalados; suelen ser los principales culpables.

[WARNING]
Si después de todo esto el error sigue, es muy probable que tu hosting no esté bien configurado o que tengas un ataque de fuerza bruta o malware. Contacta con tu proveedor de hosting y pide un análisis del servidor.


Preguntas frecuentes (FAQ)

¿Cuál es el límite de memoria recomendado para WordPress?

Para un sitio estándar, 128M es suficiente. Si usas WooCommerce, builders como Elementor o tienes muchos plugins, sube a 256M. Para sitios grandes, 512M es el máximo recomendado sin necesidad de un servidor dedicado.

¿Y para PrestaShop?

PrestaShop es más exigente. Te recomiendo empezar en 256M y subir a 512M si tienes muchos módulos o catálogos grandes.

¿Qué pasa si pongo un límite demasiado alto?

Nada malo, pero puedes saturar el servidor si tienes muchos visitantes simultáneos. Cada visita usará más memoria, y si el servidor no tiene suficiente RAM, el sitio se volverá lento o dará error 500.

¿Puedo cambiar el memory limit desde el archivo php.ini global?

Sí, pero necesitas acceso root o permisos de administrador en el servidor. Si usas un hosting compartido, no podrás tocar el php.ini global, así que usa los métodos anteriores.

¿Qué es el max_execution_time?

Es el tiempo máximo (en segundos) que un script PHP puede ejecutarse antes de ser detenido. Si tu web tarda mucho en procesar, puede dar un error similar. Subirlo a 300 es seguro.

¿Syspanel es lo mismo que HestiaCP?

Syspanel es la versión mejorada y rebrandada de HestiaCP que usamos en nuestros servidores. Accede siempre por el puerto 2106 para gestionar dominios, bases de datos y configuración de PHP.


Resumen final

El error "Allowed memory size exhausted" es más un aviso que una catástrofe. Sigue estos pasos en orden y, en el 90% de los casos, lo resolverás en menos de 15 minutos:

  1. Comprueba tu límite actual.
  2. Añade el límite en wp-config.php (WordPress) o defines.inc.php (PrestaShop).
  3. Si no funciona, usa .htaccess.
  4. Si tampoco, crea un php.ini personalizado.
  5. Si usas Syspanel, hazlo desde el panel (puerto 2106).
  6. Si el error persiste, desactiva plugins/módulos y revisa el consumo.

Y recuerda: si no te sientes cómodo tocando archivos, siempre puedes contactar con tu proveedor de hosting y pedirles que aumenten el memory_limit por ti. Es un cambio trivial para ellos.

[TIP]
Después de hacer cualquier cambio, siempre limpia la caché de tu navegador y de tu sitio web. A veces el navegador guarda el error anterior y te puede confundir.

Espero que este artículo te haya sido de ayuda. Si tienes más dudas, déjalas en los comentarios o abre un ticket de soporte. ¡Buena suerte con tu web!

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel