PHP не будет отображать какие-либо ошибки
-
26-09-2019 - |
Вопрос
Вот мой код:
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
и следить за ними в журнале ошибок.
Есть ли у вас какие-либо выключения крючков, функции обработки ошибок или глобальные ловцы исключения?
Синтаксисные ошибки могут быть причудливыми в больших каркасах :)