Configurando o PHP para exibir (ou não) erros na pagina

Para evitar que usuários recebam informações referentes a erros em nossa aplicação, os  administradores do ambiente mantêm o php.ini configurado para inibir a exibição de erros. Porem durante a fase de desenvolvimento/teste, nos realizamos diversos testes e debugs onde é essencial o feedback da aplicação (exibindo mensagens caso haja algum erro).

Nesse post irei demonstrar como podemos habilitar / desabilitar a exibição dessas mensagens de erro através do php.ini ou direto no código de sua aplicação.

Configurando pelo php.ini

Dentro do arquivo php.ini você deverá procurar a chave display_errors, que por padrão estará assim:

display_errors = Off

Para habilitar a exibição das mensagens de erro é só trocar o parâmetro da chave de Offpara On, e fazer o restart do serviço web do servidor (apache, IIS, …).

Configurando pelo código

Acredito que essa seja a melhor opção, já que você pode especificar quais paginas irão exibir as mensagens de erro, evitando problemas no caso de existir mais de uma aplicação rodando no servidor.

Para tanto iremos utilizar as funções ini_set e error_reporting, habilitando a exibição dos erros e gerando uma log com todos eles. Insira o código abaixo nas páginas em que deseja habilitar essas ações:

ini_set('display_errors', 1);
ini_set('log_errors', 1);
ini_set('error_log', dirname(__FILE__) . '/error_log.txt');
error_reporting(E_ALL);

Observação: Eu aconselho adicionar esse código em uma pagina que esteja incluída em todas as demais paginas do seu site, pois assim você só terá que fazer a alteração uma vez e caso precise desabilitar não terá que entrar pagina por pagina.

Links úteis: