Luego de haber instalado una aplicación PHP, uno de los scripts comenzó a arrojar este error en el log del servidor Web al momento de verificar su funcionamiento.
Lo que indica este error, es que el script en cuestión ha agotado la cantidad de memoria máxima que permite utilizar el intérprete PHP en su configuración (php.ini
). En este caso 134217728 bytes (128 MB). Este elevado consumo de memoria puede ser normal (si es un script que procesa grandes volúmenes de datos), o puede ser una fuga de memoria causada por una mala gestión de la memoria o un error de programación.
Si se trata de un error de programación (es decir, un script procesa pequeños volúmenes de datos en simultáneo y este elevado consumo de memoria resulta excesivo o inusual) lo correcto es resolver el problema desde la programación del script.
Si, en cambio, este consumo de memoria resulta razonable, lo que se debe hacer es aumentar el límite máximo de memoria permitida para los scripts PHP. Para ello es necesario modificar la configuración de la variable memory_limit
en el archivo php.ini
de la siguiente forma:
;memory_limit = 128M memory_limit = 1024M
También es posible hacerlo desde la programación del script utilizando la función ini_set
:
ini_set("memory_limit", "1024M");
Referencias
memory_limit - Description of core php.ini directives - PHP Manual