Como mostrar erros PHP para identificar problemas no seu site
Saber como ocultar e mostrar erros PHP ajuda muito no processo de desenvolvimento de um site.
Se você está criando ou configurando um site, você deve querer configurar o servidor para mostrar erros PHP para saber a origem desses erros e como consertá-los.
Em muitos casos, as hospedagens de sites não habilitam a geração de logs de erros do PHP e não disponibilizam uma forma gráfica para ativar esses a geração dos registros de erros. Essa medida é para evitar que esses registros sejam gerados sem necessidade, já que muitas aplicações web já geram os próprios logs de erros e problemas.
Pensando nisto, elaboramos este breve artigo com um tutorial de como habilitar os logs de erro do PHP e identificar o que pode estar causando problemas em sua aplicação.
Como exibir erros PHP?
Exibir erros PHP
É possível exibir erros do PHP ao utilizando a função error_reporting. Esta função define quais erros serão reportados durante o desenvolvimento da aplicação.
A função error_reporting() configura a diretiva error_reporting durante a execução do PHP. Como o PHP tem vários níveis de erros, usando essa função é possível definir qual nível de erro será exibido.
Se um nível de erro não for definido na função, ela fica com o valor padrão que é nulo. Quando estiver dessa forma, a função só retornará a informação sobre qual nível de erro está configurado.
Alguns exemplos de como configurar a exibição dos erros do PHP:
error_reporting(E_ALL);
ini_set(‘display_errors’, ‘On’);
ini_set(‘display_errors’, 1);
ini_set(‘log_errors’, 1);
error_reporting(E_ALL);
// Desativa toda exibição de erros
error_reporting(0);
// Exibe erros simples
error_reporting(E_ERROR | E_WARNING | E_PARSE);
// Exibir E_NOTICE também pode ser bom para mostrar variáveis não iniciadas…
// ou com erros de digitação.
error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);
// Exibe todos os erros, exceto E_NOTICE
error_reporting(E_ALL & ~E_NOTICE);
// Exibe todos os erros PHP (see changelog)
error_reporting(E_ALL);
// Exibe todos os erros PHP
error_reporting(-1);
// Mesmo que error_reporting(E_ALL);
ini_set(‘error_reporting’, E_ALL);