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