Вопрос

Вот мой код:

echo 'foo';

error_reporting(E_ALL);

echo 'this line doesnt end in a semi colon'

echo 'i should get an error here';

Когда я бегу этим, я не получаю ошибку.

Не уверен, как это может быть?

Это было полезно?

Решение

ini_set('display_errors', 1);

Не обратите внимание, что если вы сделаете это в файле, который имеет ошибку синтаксиса, она не будет работать, так как она никогда не будет выполняться. Вы также можете установить эту верность в PHP.INI (не рекомендуется для производственных серверов), или если вы используете Apache, в .htaccess с:

php_flag display_errors 1

Другие советы

Директива Error_Reporting не поможет вам показать сообщения об ошибках на экране. За это ответственность за который Ошибка, чтобы показать, а не куда.

Если ваш PHP работает как модуль Apache (скорее всего он делает) добавьте следующую строку в .htaccess файл:

php_value display_errors 1

Когда вы переходите на производство, измените его на

php_value display_errors 0
php_value log_errors 1

и следить за ними в журнале ошибок.

Есть ли у вас какие-либо выключения крючков, функции обработки ошибок или глобальные ловцы исключения?

Синтаксисные ошибки могут быть причудливыми в больших каркасах :)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top