El error:
Error fatal: tamaño de memoria permitido de X bytes agotado (se intentó asignar Y bytes)
Para convertir bytes X en MB, divida por 1024 * 1024 o verifique en Wolfram .
sucede cuando PHP intenta asignar Y bytes, pero hay un límite estricto en X bytes establecido por la memory_limit
configuración de PHP .
El límite actual se puede verificar yendo a Administración »Informes» Informe de estado »PHP (URL:) /admin/reports/status/php
o imprimiendo ini_get('memory_limit')
en PHP (tenga en cuenta que el límite puede ser diferente para UI y CLI).
Para solucionarlo, debe reducir el uso de recursos, por ejemplo:
deshabilite cualquier módulo de desarrollo que no esté usando actualmente (recomendado),
Esto incluye: Devel, Devel Themer (si está habilitado).
deshabilite cualquier módulo que no esté usando,
deshabilite ciertas variables de depuración que pueden afectar sus recursos de memoria, por ejemplo, algunos ejemplos con drush
:
drush -y vset rules_debug 0
drush -y vset rules_debug_log 0
deshabilitar ciertas extensiones PHP, como XDebug,
- Habilitar cachés redis / memcached y algunos cachés PHP (por ejemplo, OPCache / XCache),
- finalmente, si lo anterior no ayuda, aumente
memory_limit
su configuración de PHP .
Si decide aumentar el límite de memoria, muchas personas aquí aconsejan piratear su núcleo pegando el código PHP index.php
para aumentar su memoria PHP, ¡ nunca haga eso ! Es una muy mala práctica.
En su lugar, edite su settings.php
(o settings.local.php
si lo tiene incluido) y pegue el siguiente código allí al final:
ini_set('memory_limit', '512M');
o una mejor manera de hacerlo es editar su archivo de configuración de PHP ( php.ini
) y cambiar la siguiente línea:
memory_limit = 512M ; Maximum amount of memory a script may consume
Si no está seguro de dónde está php.ini
, consulte por:
drush status
mando
- o yendo al
/admin/reports/status/php
.
Para investigar más a fondo qué páginas / componentes están utilizando más memoria, tiene las siguientes posibilidades:
Para más información, consulte: