Página em branco no PHP: como ver o erro

PHP e Programação··· 225 visualizações· 3 min de leitura

Uma página branca quer dizer que o PHP deu um erro fatal e está configurado para não o mostrar. É a configuração certa para um site público, e é por isso que o erro existe mas não o vê. A solução não é fazer o erro aparecer a todo mundo: é ir lê-lo ao lugar onde fica registrado.

Ler o erro, por ordem de esforço

1 Procure o arquivo error_log. Por padrão o PHP escreve num arquivo chamado error_log na pasta do script que falhou. No File Manager, abra a pasta do site e as das aplicações, ordene por data e abra o mais recente. A última linha é, em regra, a resposta.
2 Veja o registro do cPanel. A ferramenta Errors mostra os erros mais recentes do site. Veja onde está o log de erros do PHP e como o ler.
3 Se não encontra nada, mostre o erro durante um minuto. Crie um .user.ini na pasta com as duas linhas abaixo, espere uns minutos, recarregue a página, e apague o arquivo logo a seguir.

display_errors = On
error_reporting = E_ALL

Se tem acesso a uma linha de comandos (veja o Terminal do cPanel), php -l arquivo.php verifica se um arquivo tem erros de sintaxe sem o executar.

O que costuma estar por trás

A última linha do registro diz… Causa Vá para
Allowed memory size … exhausted O pedido gastou mais memória do que o limite. Memória esgotada
Maximum execution time … exceeded O script demorou demais. Tempo de execução
Call to undefined function Falta uma extensão nesta versão do PHP. A extensão que falta
Parse error / syntax error Um erro de digitação no código: uma chave, um ponto e vírgula. Corrija a linha indicada, ou redefina a cópia anterior do arquivo.
Cannot redeclare / Uncaught Error Dois plugins ou arquivos a definir o mesmo, ou código incompatível com esta versão do PHP. Mudar a versão do PHP

Se a tela branca é de um WordPress, há um caminho próprio: ative o modo de depuração no wp-config.php com define('WP_DEBUG', true);, define('WP_DEBUG_LOG', true); e define('WP_DEBUG_DISPLAY', false);, e leia o arquivo wp-content/debug.log. Veja também erros comuns do WordPress.

Um detalhe que engana: há um error_log por pasta onde o PHP falhou. O erro de uma página de administração pode estar num arquivo diferente do da raiz do site, por isso procure também dentro das subpastas, como a da área de administração.

Nunca deixe display_errors ligado num site público. As mensagens mostram caminhos de arquivos e por vezes dados de conexão ao banco de dados. Ligue-o para ler o erro, e desligue-o no minuto seguinte.
Mudou alguma coisa um pouco antes de a página ficar branca? Um plugin novo, uma versão do PHP, um arquivo editado: desfaça essa única alteração primeiro. Muitas vezes o problema desaparece e a leitura do registro fica para depois.

Já viu o registro e não percebe a mensagem? Envie-nos a última linha do error_log e o endereço da página.

Abrir um pedido de suporte

VEJA TAMBÉM

Onde está o log de erros do PHP, como o ler, e os erros que mais vai ver

Erros comuns do WordPress: tela branca, erro crítico e como encontrar a causa

Avisos do PHP no site: o que são e como os silenciar

Erros do site explicados: 500, 403, 404, 508

PRODUTO RECOMENDADO

Alojamento de sites com cPanel

Domínio e SSL incluídos, cópias diárias e o painel que já conhece. desde $6.60/mês (plano de 3 anos, com cupom)

Ver planos
Esta resposta foi útil? Sua resposta nos ajuda a melhorar este artigo.