Eu tenho um problema com minha instalação do Drupal, por exemplo:
- quando eu ativo ou desativo os módulos, ele me redireciona para uma página em branco,
- quando eu crio um novo tipo de conteúdo e o salvo, me redireciona para uma página em branco,
- quando adiciono uma nova visualização e a salvo, ela me redireciona para uma página em branco,
- quando tento limpar o cache, ele me redireciona de volta para uma página em branco,
- ou em casos semelhantes.
Basicamente, todas as páginas de confirmação me redirecionam para uma tela branca. Quando eu atualizá-lo novamente, ele mostra a página. Eu tentei aumentar o valor da memória PHP, mas isso não ajuda.
Existem outras soluções para isso?
O erro que estou tendo:
Erro fatal: tamanho de memória permitido de 100663296 bytes esgotado (tentou alocar 8192 bytes) nos sites / all / modules / views / plugins / views_plugin_localization_none.inc na linha 1
Respostas:
Eu sei que isso pode ser tarde, mas isso me ajudou. Na maioria das vezes um módulo causa o WSOD, eu não podia simplesmente desativar os módulos para testar qual era, pois posso ter perdido dados no processo. O que eu fiz foi editar temporariamente essa função no diretório
module.inc
principalincludes
E adicionei essas duas instruções de impressão no código acima e atualize a página. O módulo que não alcançou a instrução "Concluir o carregamento de $ módulo" é o que está com o problema ... foi desenvolvido no meu caso.
Depois de encontrar o módulo, você pode acessar a tabela do sistema e procurar por esse módulo, defina status = 0 e bootstrap = 0 ou execute a consulta:
Referência: Depurando a Tela Branca da Morte do Drupal (WSOD)
fonte
Cole este código no seu
index.php
arquivo. Ele mostrará a mensagem de erro em vez da página em branco. Pelo menos a raiz do problema pode ser conhecida. Cole-o logo após a tag php.Espero que ele mostre o caminho!
http://drupal.org/node/158043
fonte
tail /var/log/apache2/error.log
. Isso mostrará as 10 linhas mais recentes desse arquivo.index.php
é uma má ideia (mesmo que temporária, como a maioria das pessoas tem preguiça de removê-lo mais tarde, se isso funcionar), é melhor colá-lo diretamente no seu arquivo de configurações.Razão da tela branca em branco da morte é o relatório de erros desativado. Para verificar o erro, adicione as seguintes linhas no seu arquivo setting.php:
Para o erro que você está enfrentando ("Tamanho de memória permitido de XXX bytes esgotado"), você pode tentar o seguinte:
Trunque o cache manualmente e verifique se ele corrige o problema (provavelmente é bom fazer backup do seu banco de dados antes de fazer isso):
Access phpMyAdmin and truncate all tables starting by cache_ from the database
.Aumente o limite de memória (como o principal motivo do erro acima é a memória esgotada pelo servidor que causou o carregamento parcial dos módulos e está causando o problema) adicionando a seguinte linha no arquivo settings.php: A
ini_set('memory_limit', '-1');
adição
ini_set('memory_limit', '-1');
substitui o limite de memória PHP padrão.Se você deseja restringir a memória,
-1
pode fornecer um tamanho de memória como '256M' OU '512M'.fonte
Pode muito bem ser que um dos seus módulos esteja ficando sem memória.
Você pode adicionar uma linha de código ao seu arquivo index.php para permitir que o Drupal seja executado com mais memória do que a configuração padrão:
Adicione o código acima na linha após o? Php no seu arquivo /drupal/index.php. Se tudo começar a funcionar bem, você poderá identificar o que está causando o problema de memória (provavelmente é um módulo).
Desative um módulo e, em seguida, comente o ini_set ('memory_limit', '256M'); e veja se ele carrega agora.
Não é recomendável deixar o ini_set ('memory_limit', '256M'); no lugar como uma solução, mas pode pelo menos permitir que você acesse a página de listagem de módulos.
Você pode achar útil fazer um debug_backtrace () para determinar o que estava usando a memória.
fonte
index.php
é uma má ideia (mesmo que temporária, como a maioria das pessoas tem preguiça de removê-lo mais tarde, se isso funcionar), é melhor colá-lo diretamente no seu arquivo de configurações.O erro:
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 imprimindoini_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
:desativar certas extensões PHP, como XDebug,
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:ou uma maneira melhor de fazer isso é editar o arquivo de configuração do PHP (
php.ini
) e alterar a seguinte linha:Se você não tiver certeza de onde está
php.ini
, verifique:drush status
comando/admin/reports/status/php
.Para investigar melhor quais páginas / componentes estão usando mais memória, você tem as seguintes possibilidades:
xdebug.profiler_enable=1
) ou XHProf ,Para mais informações, verifique:
drush
, verifique: Memória esgotada com Drush em DA.SEfonte
memory_limit
. Eu tive o problema relatado apenasdrush
exatamente porque havia um erro,/etc/php/7.0/cli/php.ini
mas não o/etc/php/7.0/cli/php.ini
estava, portanto a interface do usuário drupal estava funcionando bem. Obrigado!Você pode usar um módulo para controlar esse limite de memória. O módulo PHP Runtime Configurator fornece muitas opções para configurar sem alterar o arquivo php.ini e reiniciar o Apache.
Você pode configurar os seguintes parâmetros:
fonte