Qual é uma maneira eficiente de solucionar uma “tela branca da morte”

18

Muitas vezes estive em uma posição em que o front-end de um site do Joomla é uma tela em branco sem conteúdo, às vezes conhecida como "tela branca da morte".

Isso ocorreu depois que um site foi movido e também ocorreu inesperadamente em um site que funcionava anteriormente.

Supondo que possa haver várias causas diferentes, qual é uma maneira eficiente de solucionar e corrigir esse problema?

Neil Robertson
fonte

Respostas:

14
  1. Alterar relatório de erros para máximo

    • Entre na área de administração
    • Vá para Configuração global -> servidor

    Primeiro, você precisa definir o Relatório de erros como Máximo

  2. Editar arquivos em FTP

    • Entre nos arquivos do seu site Joomla via FTP.

    • Encontre o seu arquivo index.php localizado na raiz do seu site.

    • Abra o index.php e adicione esse código diretamente após a primeira linha do arquivo:

      ini_set('display_errors', TRUE); error_reporting(E_ALL); 
      
  3. Editar arquivo PHP.ini

    No arquivo PHP.ini, você precisa alterar estas duas configurações:

    • Defina Erro de exibição como Ativado: display_errors = On

    • Defina o relatório de erros: error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT

  4. Verifique o log do servidor

    Finalmente, você recebe um log de erros com a mensagem de erro mostrando o caminho do erro e o motivo do erro

Referência: http://www.ostraining.com/blog/joomla/white-screen-of-death/

priya bose
fonte
2
Assim como acima, eu recomendaria instalar e ativar o console do firebug no seu navegador. Uma vez feito, revisite a Tela Branca da Morte. Você ficará surpreso com o que encontrará às vezes.
TryHarder 26/04
11
Outra coisa, geralmente acho que a Tela Branca da Morte tem algo a ver com o arquivo .htaccess.
TryHarder 26/04
11
Em raras ocasiões, pode ser porque o arquivo que está sendo carregado está usando uma defined('FOO') or die();linha, mas FOOnão está definido.
Andrew Eddie
10

Essas outras respostas provavelmente o levarão à resposta, no entanto, uma coisa que notei como um pequeno problema é que alguns plug-ins configuram error_reporting por conta própria e que podem substituir o relatório de erros do Joomla; portanto, outra maneira de corrigir isso é desativar as extensões uma de cada vez. tempo até o site carregar, sendo os plugins o principal infrator.

Verifique manualmente outras páginas, ele carrega? Se for um módulo ou componente carregado apenas na primeira página, ajudando você a isolá-lo. Também é recomendável atualizar suas extensões, se funcionou antes, talvez seu ambiente fosse o PHP 5.2 e quando você mudou para 5.3 ou 5.4, ocorreu um grande erro devido às diferenças.

Normalmente, uma atualização para uma extensão pode corrigir isso, desde que seja mantida ativamente. Embora em alguns casos possa ser o seu modelo.

Jordan Ramstad
fonte
11
Eu também faço isso da maneira oposta, desativo todas as extensões e as ligo uma a uma até que o site seja interrompido. A mesma ideia.
David Fritsch
11
Às vezes, desligar todos de uma só vez pode levar a uma interrupção por conta própria. Nem sempre, mas aconteceu uma vez, então uma de cada vez foi a nossa solução.
Jordan Ramstad
6

Nesses casos, basta ativar o relatório de erros do Joomla ao máximo, como mostrado abaixo. insira a descrição da imagem aqui Quando o relatório de erros estiver ativo, tente recarregar a página da web. Agora ele mostra algumas frases de erro. Na verdade, você acabou de encontrar as primeiras informações que precisam ser depuradas para resolver o erro insira a descrição da imagem aqui

Dica de depuração mais básica pode ser encontrada neste blog: http://www.readybytes.net/blog/item/a-beginners-guide-to-start-debugging-joomla.html

Shyam
fonte
2

Parece que ninguém mencionou a desativação do buffer de saída - então vou mencionar aqui ...

O buffer de saída é muito desagradável para depuração e, mesmo se você definir o máximo de relatórios de erros e adicionar as php.inientradas, ele ainda não funcionará (você ainda não verá os erros). Isso pode ser desativado apenas adicionando output_buffering = offao .htaccessarquivo como mencionado aqui (observe que isso pode não funcionar em todos os ambientes).

Além disso, outro problema que causa uma página em branco é que o próprio host pode ter desativado o relatório de erros no final - nesse caso, o host deve ser contatado, pois muitos hosts não permitem substituições de suas próprias configurações.

itoctopus
fonte
1

Se você tiver os URLs SEF ativados e estiver usando o arquivo .htaccess do Joomla !, verifique se o mod_rewrite está ativado no servidor.

Em muitos casos, o arquivo .htaccess é o culpado; portanto, assumindo que o mod_rewrite esteja ativado, eu recomendo fazer o backup do arquivo .htaccess e excluir o original (ou renomeá-lo), para verificar se isso faz diferença.

Também recomendo instalar e executar o console do firebug no seu navegador. Muitas vezes, revela dicas que você pode usar para rastrear o problema (isso é verdade para muitos problemas diferentes).

TryHarder
fonte