ignore_user_abort(true);
首先,我们先来了解下ignore_user_abort(true);这个函数
这个函数可以忽略客户机的断开,继续执行php代码
那到底这个用来干啥的呢?...例如:
//当用户A用浏览器请求下单逻辑
//由于后台逻辑非常多,需要处理20秒
//用户A等了10秒等不下去,关闭了网页
//默认情况下,用户关闭了网页,php进程则会直接终止,相当于执行了一半逻辑之后...set_time_limit(0);
在上面讲到,如果启用ignore_user_abort 则会让php一直执行,直到异常终止,而在php常规web模式下,默认有个执行超时时间(30秒),当执行到...30秒时,会直接终止该php进程,可使用set_time_limit(0),设置为用不超时,这样的话,客户端就算断开,就算超过30秒,php进程也会一直执行下去,直到执行完成
实时输出
在我之前的一篇讲...(其实还没有结束,还可以继续echo输出)
然后让用户自行关闭窗口,通过set_time_limit和ignore_user_abort函数实现php代码还在后台运行,如以下例子:
<?