PHP网关超时错误处理

时间:2013-04-27 06:51:48

标签: php timeout gateway

我正在编写无错误的脚本和其他脚本导致错误,(除了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秒,处理它并再次调用函数。

0 个答案:

没有答案