Сообщения об ошибках


Некоторые существующие ошибки (E_ERROR) теперь можно поймать при помощи обработчиков. Если E_RECOVERABLE_ERROR не обработана, она будет вести себя как E_ERROR. Ошибки этого типа записываются в лог как Catchable fatal error.

Это означает, что значение константы E_ALL error_reporting теперь равно 6143, тогда как предыдущее значение было 2047. Так как имена констант не имеют смысла вне PHP, иногда используются их числовые значения. То есть, например, при установке error_reporting через httpd.conf или .htaccess, данное значение нужно будет сменить при переходе на новую версию PHP. То же касается и числовых значений, если они используются вместо имен констант в скриптах.

Как побочный эффект этих изменений, чтобы предотвратить двойное сообщение об ошибке при параметре track_errors выставленном в On, теперь необходимо возвращать FALSE из пользовательских обработчиков, чтобы отобразилось значение $php_errormsg. Это позволяет точно контролировать уровни сообщений.