Resolver problemas

Depurar erros em aplicações ou ficheiros PHP

Revisto a 3 min de leitura depuração PHP

Um ecrã em branco ou um erro 500 indicam que o pedido não terminou como esperado, mas não identificam por si sós a camada nem o componente que falhou. A origem pode estar na aplicação, no PHP, numa diretiva do .htaccess, no servidor web ou num limite de recursos.

Reproduza o URL ou a operação exata e anote a hora. Comece pela fonte mais restrita que possa conter esse evento:

  1. Se conhecer a aplicação, consulte primeiro o seu registo ou modo de depuração, mantendo desativada a apresentação de erros no ecrã. Para o WordPress, utilize Depurar erros no WordPress.
  2. Se o registo da aplicação não contiver o evento, ou se se tratar de um ficheiro PHP independente, consulte o registo do PHP da versão efetiva. Se não estiver ativo, ative temporariamente log_errors a partir do cPanel.
  3. Se o pedido não aparecer no PHP, se o .htaccess tiver sido modificado ou se o erro ocorrer antes de executar a aplicação, consulte o registo de erros do site ou do servidor web.

O facto de um registo não conter o pedido não demonstra que a aplicação tenha sobrescrito a configuração. Verifique antes a versão efetiva do PHP, o âmbito da configuração, o destino e as permissões de error_log, e se o pedido chegou a essa camada.

Só atribua a falha a um componente quando o registo ou uma reprodução controlada o relacionar com a mensagem concreta. Até lá, qualquer explicação é uma hipótese.

Fechar o diagnóstico

Guarde o primeiro erro e o seu rastreio, a alteração que o corrigiu e o resultado de repetir a mesma operação. Uma linha de uma biblioteca pode ser onde se detetou um dado inválido, não onde foi criado; evite modificar esse ficheiro sem seguir o rastreio.

Retire a depuração temporária, confirme que os detalhes não são mostrados ao visitante e conserve os registos apenas durante o tempo necessário. Para pedir ajuda, forneça um exemplo mínimo com dados fictícios e as versões do PHP e da aplicação, sem anexar configurações completas que contenham palavras-passe.

Também lhe pode ser útil

Algo não bate certo ou mudou? Diga-nos e revemos.