583 Shares 2934 views

Saída de erro em PHP

Seja qual for cuidado e atenção não era um programador web, enquanto ele está sujeito a erros e imprecisões. Como resultado, isso pode resultar em mau funcionamento do site ou serviço. Para depuração durante o desenvolvimento do projeto, é possível incluir a saída de erros no PHP.

Como isso funciona?

PHP é definitivamente reagindo a um código de script particular. Em alguns casos – tomar as medidas adequadas, em outros – exibirá um erro. Este mecanismo ajuda o desenvolvedor no momento da execução da secção de código para corrigir defeitos prontamente.

No entanto, a saída de erro em PHP não é sempre necessário. Após o desenvolvimento do projeto estiver concluída, esta função é desligada, a fim de evitar uma invasão ou acesso não autorizado.

ajuste

Em toda a configuração do intérprete PHP é o arquivo php.ini responsável. Tem error_reporting directiva, que se define com precisão a saída de erro em PHP. No entanto, ainda que inclui a manipulação de exceção, para exibi-los nas display_errors responsáveis janela do navegador. Se for desativado, o sistema exibe um erro em vez de uma página em branco.

exceção de classificação

Saída de erro em PHP podem ser divididas em várias categorias:

  • Erros que resultam no script pára de funcionar. O chamado fatal. Estes incluem E_ERROR, E_COMPILE_ERROR;

  • erros que podem ser corrigidos. Seus valores para a diretiva error_reporting pode ser: E_WARNING, E_NOTICE, e outros.

Vale a pena um olhar mais atento a cada tipo e descrever sua funcionalidade.

  • E_ERROR. Tipicamente, este tipo refere-se a tais erros, que não podem ser eliminados rapidamente ou continuam o script. Isso pode incluir problemas com alocação de memória;

  • E_WARNING. O código vai continuar a trabalhar, mas aparecerá um aviso de que há algum erro, o código é indicado na mensagem. não são críticos;

  • E_NOTICE. Notificações, que mostram que houve algo que poderia ter causado o erro. Eles também não são críticos para a implementação do código;

  • E_USER_ERROR. Erros gerados pelo utilizador;

  • E_ALL. Isso inclui todos os tipos de erros. Normalmente, essa opção é ativada por padrão quando você instala o intérprete.

Como habilitar a saída de erro em PHP

A técnica utilizada no mecanismo de erro PHP pode variar dependendo de onde o código é utilizado – na hospedagem ou no computador local. No segundo caso, o desenvolvedor pode personalizar seu servidor e exibir como ele quer – ou seja, para alterar a configuração no arquivo php.ini. Para citar duas directivas – display_errors e error_reporting à seguinte forma:

display_errors sobre

error_reporting E_ALL

Estes comandos permitem exibir todas as mensagens de erro diretamente na janela do navegador.

Se o desenvolvimento é realizado em um servidor virtual, o muitas vezes erro função de exibição, desligue por razões de segurança. Portanto, a necessidade de ativá-lo para usar o Apache arquivo de configurações do servidor htaccess. Geralmente é na raiz do site. Você precisa adicionar um par de linhas em qualquer editor de texto:

display_errors php_flag sobre

php_value relatório de erros -1

exibir erros também pode ser directamente a partir do código usando a função ini_set (). No entanto, deve-se ter em mente que, após o desenvolvimento do site de seu uso pode causar problemas de segurança.

arquivamento

PHP permite que você salve todos os erros que ocorrem em um lugar específico no disco rígido. Para habilitar erro PHP no arquivo de saída, você pode usar três maneiras:

  1. Editar o arquivo php.ini. Aqui é necessário definir duas linhas. Primeiro – log_errors = On, que na verdade ativa a capacidade de saída. Segundo – error_log = caminho / para o desejado / arquivo.

  2. Alterar htaccess. Também é possível adicionar as duas linhas. log_errors php_value «on» e php_value error_log caminho / arquivo.

  3. Use a função correta ini_set código de localização.

conclusão

Saída de Erro em PHP – uma ferramenta essencial para o código de depuração. Mas também pode criar uma área potencialmente vulnerável. Portanto, use este mecanismo é preciso cuidado e precisão. Uma vez que um site ou serviço passou por todas as fases de testes, você precisa tomar cuidado para garantir que ele não mostra o erro, pelo qual um atacante pode obter acesso a dados sensíveis.