Das versões anteriores ao PHP 5, lançado em 13 de julho de 2004, o relatório de erros era bastante simples. Além de escrever programas com cuidado, você também deve prestar atenção a alguns itens específicos de configuração do PHP:
O itemerror_reporting
define o nível de relatório de erros. Quer se trate de um ambiente de desenvolvimento ou implantação, é altamente recomendável definir este projeto como E_ALL.
O itemdisplay_errors
determina se os erros serão exibidos na tela (incluídos na saída). Deve ser definido como Ativado no desenvolvimento para que erros sejam descobertos durante o desenvolvimento; deve ser definido como Desativado em um ambiente de implantação para que os erros sejam ocultados de todos os usuários (e possíveis invasores).
O itemlog_errors
determina se os erros serão gravados no log. Embora isso implique uma penalidade de desempenho, é necessário para erros pouco frequentes. Se o registro de erros no disco rígido criar uma carga de E/S significativa, isso poderá merecer mais atenção do que a eficiência do aplicativo. Deve ser definido como Ativado no ambiente de implantação.
O itemerror_log
determina a localização e o nome do arquivo de log. Certifique-se de garantir que o servidor web tenha permissões para o arquivo especificado.
Definir error_reporting como E_ALL é útil para forçar a inicialização de variáveis, pois o uso de uma variável indefinida gerará um aviso.
Observe que cada um desses itens pode ser definido usando ini_set() sem exigir acesso ao php.ini ou outras operações para definir esses itens.
Uma função muito boa de tratamento de erros e relatório é descrita no manual do PHP:
http://www.php.net/manual/en/ref.errorfunc.php
PHP 5 inclui tratamento de exceções. Para mais informações, consulte: