ここに記載されているのとまったく同じ問題があるため、このタイトルを選択しました: エラーハンドラーでスローされた PHP 例外は、例外ハンドラーによってキャッチされません
著者は、明らかに何か間違ったことをしているという答えを受け入れました。私のエラーと例外ハンドラーは、過去 2 年間は正常に機能していましたが、今ではまったく同じ問題に直面しています。コードの更新とサーバーの更新も行いました (Plesk 11.5 が実行されています。PHP のバージョンは同じで、5.3.2 である必要があります)。コードでエラーを確認しましたが、テストにより、これが問題ではないことが明らかになりました。
次のテストファイルを作成しました。
function errorHandler($errno, $errstr, $errfile, $errline, $errcontext) {
throw new Exception("this was an error");
}
function exceptionHandler($e) {
echo 'exceptionHandler';
}
set_error_handler('errorHandler');
set_exception_handler('exceptionHandler');
// test one:
throw new Exception(); // outputs "exceptionHandler"
// test two - uncomment the first test of course!
$test->blabla();
2 番目のテストでも「exceptionHandler」が出力されるはずですが、そうではありません。出力は「致命的なエラー: 行 0 の ......./exeptiontest.php の非オブジェクトでメンバー関数 blabla() を呼び出す」です。
この問題は、現時点で私を夢中にさせます。ここに何か提案はありますか?これを引き起こすPHP設定はありますか?