これまで E_ERROR
となっていた内容のうちのいくつかについて、
ユーザー定義のエラーハンドラで処理できるようになりました。これは
E_RECOVERABLE_ERROR
で表され、ハンドラを作成しなかった場合は、
E_ERROR
と同様に振る舞います。
この型のエラーは、ログには
Catchable fatal error
と記録されます。
この変更によって、
error_reporting の定数
E_ALL
の値は 6143 となりました。
以前は、この値は 2047 でした。PHP の定数は PHP の外部では使用できないので、
外部でこの整数値を指定していることもあるでしょう。その場合は値を変更する必要があります。
たとえば error_reporting の設定を
httpd.conf あるいは
.htaccess で行っている場合は、値を適切に変更する必要があります。
また、PHP スクリプト内で定数ではなく値自体を指定している場合も同様です。
この変更の副作用として、
track_errors が On
の場合にエラーメッセージが重複してしまうことがあるようになりました。
これを防ぐため、エラーハンドラで
$php_errormsg
を設定した際には FALSE
を返さなければならないようになりました。
これにより、さまざまなレベルのメッセージをより精密に制御できるようになります。