Error "allowed memory exhausted"

PHP permite que cada proceso (página web) consuma una cantidad limitada de memoria (generalmente suele ser un tamaño por defecto de 8Mb). Moodle necesita cargar muchos archivos (por ejemplo, los ficheros de lenguaje, diversas librerías...) para crear una página, y los últimos desarrollos de Moodle, ejecutando muchos módulos y opciones, han empezado a romper ese límite de 8Mb.

Por ello, en algunas ocasiones, podrías encontrar errores como este:

Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 184320 bytes) in /var/www/html/moodle/mod/workshop/lib.php on line 2354

Continuamente estamos introduciendo mejoras para tratar de reducir esos requerimientos de memoria, pero mientras tanto, la forma más sencilla de utilizar Moodle al 100% es ampliar ese límite de memoria.

  1. Si tienes acceso al archivo principal php.ini, busca la línea que se parece a esta:

    memory_limit = 8M;

    y modifícala a :

    memory_limit = 16M;

    entonces, reinicia Apache.

  2. Si no puedes hacer esto, podrías intentar cambiar ese valor para tu sitio editando o creando un archivo .htaccess en tu directorio principal de Moodle, que contenga esta línea:

    php_value memory_limit "16M"

Otra opción es borrar completamente aquellos módulos que no estés utilizando, puedes hacerlo accediendo a Admin -> Configuración -> Módulos.

» Glosario de Preguntas Frecuentes