PHP5 で set_error_handler() を利用していると、PEAR のライブラリの各所(PEAR::isError, DB::connect など)で E_STRICT(=2048) が発生します。
set_error_handler の呼び出しを次のように変更すると回避可能です。
変更前:
set_error_handler(‘handler’);
変更後:
define(‘PHP5’, version_compare( phpversion(), “5.0.0”, “>=” ));
if(PHP5){
$old_error_handler = set_error_handler(‘handler’, E_ALL);
}else{
$old_error_handler = set_error_handler(‘handler’);
}
バージョンに応じて第二引数を与えているのがミソです。もちろん、PHP5だけに対応するのであれば、単純に既存のものに第二引数を与えればいいだけです。
PHP5 (5.0.5 で確認)では static メソッドの認識が微妙ですね。
参考:
– #1491(Make code work on both PHP4 and PHP5) (LiveSupport – Trac)