我正在编写无错误脚本和其他导致错误的脚本,(除了 1 件事之外,两者都是相同的)
function test_function($errno, $errstr, $errfile, $errline){
echo "<p>$errno, $errstr, $errfile, $errline</p>";
die;
}
set_time_limit(0);
set_error_handler ( 'test_function', E_ALL );
for($i=0;$i<9;$i++){
sleep(1);
echo "$i";
}
//output is 012345678
Second script
function test_function($errno, $errstr, $errfile, $errline){
echo "<p>$errno, $errstr, $errfile, $errline</p>";
}
set_time_limit(0);
set_error_handler ( 'test_function', E_ALL );
for($i=0;$i<10;$i++){
sleep(1);
echo "$i";
}
/*output
Gateway Time-out
The gateway did not receive a timely response from the upstream server or application.
*/
实际上我的真实代码有while循环,这需要时间。每当花费超过 10 秒时,我就会出错。所以,我创建了简化的代码来证明自己。我希望如果发生此错误,将保存所有数据并执行单独的代码来完成它。所以,我会创建递归函数,如果超过 10 秒,处理它并再次调用函数。