PHP не будет показывать никаких ошибок

Вот мой код:

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 

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

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

Ошибки синтаксиса могут быть причудливыми в больших рамках 🙂