私はajaxリクエストによって呼び出され、解析される応答コードをエコーすることになっているphpスクリプトに取り組んでいます。
例えば:
die('#1:200|Success|'.$data);
または別のもの:
die('#0:100|Access Denied|');
ここで、スクリプトの実行中に発生した可能性のあるエラーや警告も含めたいと思いますが、メッセージの最後に追加されています。
では、すべてのエラーをいくつかの変数に取り込むためのエレガントな方法は何でしょうか?
編集
さて、それがどのように使用されるのかを理解するのは簡単ではありません、マニュアルは多くのことについて明確ではありません。
しかし、わかりました、私はそれをどのように理解するかの例を作ろうとします、そして私がそれを間違えているならそれを指摘してください:-)
//So guess first I off error reporting that would naturally occur.
error_reporting(0);
//Then I will define array to stuff the errors in.
$errors=array();
//Then I make my handler function.
function handler($errno,$errstr){
global $errors;
$errors[]=$errno.': '.$errstr; //Stuff it into array.
}
//Then I define handler.
set_error_handler('handler',E_ALL);
これは正しい使用法ですか?
それはまた言う:
The following error types cannot be handled with a user defined function: E_ERROR, E_PARSE, E_CORE_ERROR, E_CORE_WARNING, E_COMPILE_ERROR, E_COMPILE_WARNING, and most of E_STRICT raised in the file where set_error_handler() is called.
また、なぜ厳密なエラーをキャプチャしないのかという質問もあります。