O erro:
Erro fatal: esgotado o tamanho da memória de X bytes (tentou alocar Y bytes)
Para converter bytes X em MB, divida por 1024 * 1024 ou verifique em Wolfram .
acontece quando o PHP tenta alocar bytes Y, mas há um limite rígido para os bytes X definidos pelas memory_limit
definições de configuração do PHP .
O limite atual pode ser verificado indo para Administração »Relatórios» Relatório de status »PHP (URL:) /admin/reports/status/php
ou imprimindo ini_get('memory_limit')
em PHP (observe que o limite pode ser diferente para UI e CLI).
Para corrigi-lo, você precisa diminuir o uso de recursos, por exemplo:
desative todos os módulos de desenvolvimento que você não está usando no momento (recomendado),
Isso inclui: Devel, Devel Themer (se ativado).
desative os módulos que você não está usando,
desabilite certas variáveis de depuração que podem afetar seus recursos de memória, por exemplo, alguns exemplos com drush
:
drush -y vset rules_debug 0
drush -y vset rules_debug_log 0
desativar certas extensões PHP, como XDebug,
- habilitar caches redis / memcached e alguns caches PHP (por exemplo, OPCache / XCache),
- finalmente, se o exemplo acima não ajudar, aumente
memory_limit
sua configuração do PHP .
Se você decidir aumentar o limite de memória, muitas pessoas aqui aconselham realmente invadir seu núcleo colando o código PHP no seu index.php
para aumentar sua memória PHP - nunca faça isso ! É uma prática muito ruim.
Em vez disso, edite seu settings.php
(ou, settings.local.php
se você o incluir) e cole o seguinte código no final:
ini_set('memory_limit', '512M');
ou uma maneira melhor de fazer isso é editar o arquivo de configuração do PHP ( php.ini
) e alterar a seguinte linha:
memory_limit = 512M ; Maximum amount of memory a script may consume
Se você não tiver certeza de onde está php.ini
, verifique:
drush status
comando
- ou indo para
/admin/reports/status/php
.
Para investigar melhor quais páginas / componentes estão usando mais memória, você tem as seguintes possibilidades:
Para mais informações, verifique: