Cómo Solucionar el Error Fatal 'Allowed Memory Size Exhausted' en PHP Paso a Paso

Cómo Solucionar el Error Fatal 'Allowed Memory Size Exhausted' en PHP Paso a Paso
Anuncio relacionado

Introducción

Uno de los errores más comunes a los que se enfrentan los desarrolladores web al trabajar con PHP y sistemas de gestión de contenido como WordPress, Magento o aplicaciones personalizadas es el temido Fatal error: Allowed memory size of X bytes exhausted. Este fallo detiene por completo la ejecución del script y muestra una pantalla en blanco o un error 500 en el sitio web.

Causas Principales del Error

El origen de este problema está directamente relacionado con la asignación de recursos en el archivo de configuración del servidor. Las causas más frecuentes incluyen:

  • Un script mal optimizado que realiza consultas masivas a la base de datos sin paginación.
  • Bucle infinito en el código fuente que consume memoria iteración tras iteración.
  • Plugins, temas o módulos de terceros mal programados que sobrepasan el límite predeterminado por PHP.
  • Un límite de memoria (memory_limit) demasiado bajo configurado por defecto en el archivo php.ini.

Método 1: Modificar el límite en el archivo php.ini

La forma más limpia y recomendada a nivel global es aumentar el límite de memoria directamente desde el archivo de configuración principal de PHP.

  1. Localiza tu archivo php.ini en el servidor (su ruta varía según el sistema operativo y versión de PHP, por ejemplo: /etc/php/8.1/apache2/php.ini).
  2. Abre el archivo con un editor de texto con privilegios de administrador.
  3. Busca la línea que contiene la directiva memory_limit.
  4. Cambia el valor actual por uno mayor, por ejemplo: memory_limit = 512M.
  5. Guarda los cambios y reinicia tu servidor web (Apache o Nginx) ejecutando sudo systemctl restart apache2.

Método 2: Aumentar la memoria mediante el archivo .htaccess

Si tu servidor utiliza Apache y no tienes acceso directo al archivo php.ini (por ejemplo, en un hosting compartido), puedes modificar los parámetros mediante el archivo .htaccess.

  1. Accede al directorio raíz de tu proyecto mediante FTP o el Administrador de Archivos de tu Hosting.
  2. Localiza el archivo .htaccess (asegúrate de mostrar los archivos ocultos si es necesario).
  3. Agrega la siguiente línea de código al final del archivo: php_value memory_limit 512M.
  4. Guarda los cambios y recarga tu página web para comprobar que el error ha desaparecido.

Método 3: Definir el límite en tiempo de ejecución con ini_set()

Si el problema ocurre en un script PHP específico o deseas evitar modificar configuraciones globales del servidor, puedes incrementar la memoria programáticamente al inicio de tu archivo principal (por ejemplo, index.php).

  1. Abre el archivo PHP donde deseas aplicar la solución.
  2. Añade la siguiente función justo después de la etiqueta de apertura de PHP: ini_set('memory_limit', '512M');.
  3. Guarda el archivo y prueba la ejecución de tu aplicación nuevamente.
Anuncio
Seguir Leyendo

Guías y Soluciones Relacionadas

Windows Apps Juegos
Juegos

Cómo Solucionar el Error de Archivos Corruptos y Falta de Privilegios en Steam de Forma Definitiva

Descubre los mejores métodos comprobados para solucionar los errores de lectura, escritura y privilegios en Steam que impiden actualizar o iniciar tus juegos favoritos.

Leer guía completa →
Apps

Cómo Solucionar el Error ERR_CONNECTION_RESET en Google Chrome de Forma Definitiva

Aprende a solucionar el frustrante error de conexión restablecida en Google Chrome. Aplica nuestros métodos sencillos y vuelve a navegar sin interrupciones.

Leer guía completa →
Windows

Cómo Solucionar el Error Critical Process Died en Windows Paso a Paso

Soluciona el molesto error de pantalla azul Critical Process Died en tu PC con Windows. Sigue nuestros métodos para reparar archivos del sistema y controladores.

Leer guía completa →