Pergunta

Aqui está o meu código:

echo 'foo';

error_reporting(E_ALL);

echo 'this line doesnt end in a semi colon'

echo 'i should get an error here';

Quando eu corro isso, não recebo erros.

Não tenho certeza de como isso pode ser?

Foi útil?

Solução

ini_set('display_errors', 1);

Observe que, se você fizer isso no arquivo que possui o erro de sintaxe, ele não funcionará, pois nunca será executado. Você também pode definir isso true em php.ini (não recomendado para servidores de produção) ou se você usar o Apache, em .htaccess com:

php_flag display_errors 1

Outras dicas

Error_reporting Diretiva não o ajudará a mostrar mensagens de erro na tela. É responsável por que erro para mostrar, não Onde.

Se o seu PHP executar como módulo Apache (provavelmente ele o faz), adicione a seguinte linha em .htaccess Arquivo:

php_value display_errors 1

Quando você mudar para a produção, mude para

php_value display_errors 0
php_value log_errors 1

e assista -os no log de erros.

Você tem algum tipo de ganchos de desligamento, funções de manipulação de erros ou coletores de exceção global em execução?

Erros de sintaxe podem ser peculiares em grandes estruturas :)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top