PHP Introdução erro
As funções de erro são usados para lidar com erros e logs.
As funções de erro permitem definir regras próprias de tratamento de erros e modificar a forma como os erros podem ser registrados.
As funções de log nos permitem enviar mensagens diretamente para outras máquinas, e-mails, ou logs do sistema.
As funções de relatórios de erro nos permitem personalizar o nível e tipo de feedback de erro é dada.
Instalação
As funções de erro PHP fazem parte do núcleo do PHP. Nenhuma instalação é necessária para usar estas funções.
Configurações em execução
O comportamento das funções de erro é afetada pelas configurações do php.ini.
Erros e opções de configuração de registro:
Nome | Padrão | Descrição | Mutável |
---|---|---|---|
error_reporting | NULO | Define o nível de relatório de erro (um inteiro ou constantes nomeadas) | PHP_INI_ALL |
display_errors | "1" | Especifica se os erros devem ser impresso na tela, ou se devem ser escondidos do usuário. Nota: Este recurso não deve ser usado em sistemas de produção (só para apoiar o seu desenvolvimento) | PHP_INI_ALL |
display_startup_errors | "0" | Mesmo quando display_errors está ligado, erros que ocorrem durante a inicialização do PHP não são exibidos Nota: É altamente recomendável para manter display_startup_errors off, exceto para depuração | PHP_INI_ALL |
log_errors | "0" | Define se as mensagens de erro de script devem ser registradas no log de erro do servidor ou error_log. Nota: É altamente recomendável para usar o log de erro em vez de erro exibir em sites de produção | PHP_INI_ALL |
log_errors_max_len | "1024" | Define o comprimento máximo de log_errors em bytes. O valor "0" pode ser usado para não aplicar qualquer comprimento máximo em tudo. Este comprimento é aplicado a erros registrados, exibidos erros, e também para $ php_errormsg (available since PHP 4.3) | PHP_INI_ALL |
ignore_repeated_errors | "0" | Especifica se pretende registar mensagens de erro repetidas. Quando ajustado para "1" não vai erros com erros repetidos do mesmo arquivo na mesma linha de log (available since PHP 4.3) | PHP_INI_ALL |
ignore_repeated_source | "0" | Especifica se pretende registar mensagens de erro repetidas. Quando ajustado para "1" não vai erros com erros repetidos de arquivos ou linhas de origem diferente log (available since PHP 4.3) | PHP_INI_ALL |
report_memleaks | "1" | Se definido como "1" (the default) , este parâmetro irá mostrar um relatório de vazamentos de memória detectados pelo gerenciador de memória Zend (available since PHP 4.3) | PHP_INI_ALL |
track_errors | "0" | Se definido como "1" , a última mensagem de erro estará sempre presente no $ php_errormsg variável | PHP_INI_ALL |
html_errors | "1" | Desliga tags HTML em mensagens de erro | PHP_INI_ALL PHP_INI_SYSTEM em PHP <= 4.2.3. |
xmlrpc_errors | "0" | Desliga o relatório de erros normal e formatos de erros como mensagem de erro XML-RPC (available since PHP 4.1) | PHP_INI_SYSTEM |
xmlrpc_error_number | "0" | Usado como o valor do elemento faultCode XML-RPC (available since PHP 4.1) | PHP_INI_ALL |
docref_root | "" | (Disponível a partir do PHP 4.3) | PHP_INI_ALL |
docref_ext | "" | (Disponível a partir do PHP 4.3.2) | PHP_INI_ALL |
error_prepend_string | NULO | Especifica uma cadeia de saída antes de uma mensagem de erro | PHP_INI_ALL |
error_append_string | NULO | Especifica uma cadeia de saída após uma mensagem de erro | PHP_INI_ALL |
error_log | NULO | Especifica o nome do arquivo onde erros de script deve ser registrado. O arquivo deve ser escrito pelo usuário do servidor web. Se o valor especial syslog é usado, os erros são enviados para o logger do sistema, em vez | PHP_INI_ALL |
Funções erros e logs do PHP
Função | Descrição |
---|---|
debug_backtrace() | Gera um backtrace |
debug_print_backtrace() | Imprime um backtrace |
error_get_last() | Retorna o último erro que ocorreu |
error_log() | Envia uma mensagem de erro em um log, em um arquivo, ou para uma conta de correio |
error_reporting() | Especifica que os erros são relatados |
restore_error_handler() | Restaura o manipulador de erro anterior |
restore_exception_handler() | Restaura o manipulador de exceção anterior |
set_error_handler() | Define uma função de manipulador de erro definido pelo usuário |
set_exception_handler() | Define uma função manipulador de exceção definida pelo usuário |
trigger_error() | Cria uma mensagem de erro em nível de usuário |
user_error() | Alias de trigger_error() |
PHP 5 Constantes erros e logs predefinidos
Valor | Constante | Descrição |
---|---|---|
1 | E_ERROR | erros em tempo de execução fatal. Os erros que não podem ser recuperados a partir de. Execução do script é interrompida |
2 | E_WARNING | Avisos de tempo de execução (non-fatal errors) . Execução do script não é interrompida |
4 | E_PARSE | Em tempo de compilação erros de análise. Erros de análise só deve ser gerado pelo analisador |
8 | E_NOTICE | avisos de tempo de execução. O script encontrado algo que poderia ser um erro, mas também pode acontecer quando executar um script normalmente |
16 | E_CORE_ERROR | erros fatais durante a inicialização do PHP. Isto é como E_ERROR, exceto que é gerado pelo núcleo do PHP |
32 | E_CORE_WARNING | erros não fatais na inicialização PHP. Isto é como E_WARNING, exceto que é gerado pelo núcleo do PHP |
64 | E_COMPILE_ERROR | erros em tempo de compilação fatal. Isto é como E_ERROR, exceto que é gerado por pelo Zend Scripting Engine |
128 | E_COMPILE_WARNING | Não fatais erros de tempo de compilação. Isto é como E_WARNING, exceto que é gerado por pelo Zend Engine Scripting |
256 | E_USER_ERROR | Erro fatal gerado pelo usuário. Isto é como E_ERROR, exceto que é gerado no código PHP usando a função PHP trigger_error() |
512 | E_USER_WARNING | Aviso gerado pelo usuário não-fatal. Isto é como E_WARNING, exceto que é gerado no código PHP usando a função PHP trigger_error() |
1024 | E_USER_NOTICE | aviso gerado pelo usuário. Isto é como E_NOTICE, exceto que é gerado no código PHP usando a função PHP trigger_error() |
2048 | E_STRICT | Permite ao PHP sugerir mudanças ao seu código que irá garantir a melhor interoperabilidade e compatibilidade futura do seu código (Desde o PHP 5, mas não incluídas no E_ALL até PHP 5.4) |
4096 | E_RECOVERABLE_ERROR | Erro fatal capturável. Indica que ocorreu um erro provavelmente perigoso, mas não deixou o motor em um estado instável. Se o erro não for pego por um identificador definido pelo utilizador, a aplicação aborta como era um E_ERROR (Since PHP 5.2) |
8192 | E_DEPRECATED | avisos de tempo de execução. Ative esta para receber avisos sobre código que não vai funcionar em futuras versões (Since PHP 5.3) |
16384 | E_USER_DEPRECATED | Aviso gerado pelo usuário. Isto é como E_DEPRECATED, exceto que é gerado no código PHP usando a função PHP trigger_error() (Desde o PHP 5.3) |
32767 | E_ALL | Permitir que todos os erros PHP e advertências (except E_STRICT in versions < 5.4) |