首页 > 后端开发 > php教程 > 竟然后台自动执行,这是php5.5的更新吗?

竟然后台自动执行,这是php5.5的更新吗?

WBOY
发布: 2016-06-23 13:43:53
原创
970 人浏览过

很简单的一段代码

header('Content-Type:text/html;charset=utf-8');date_default_timezone_set('PRC');set_time_limit(0);$date=date("H:i:s");while($date<'11:14:00') //这句测试时要调整一下{$date=date("H:i:s");file_put_contents("test.txt", $date);}
登录后复制


我用浏览器访问,按以前的经验如果运行后关闭浏览器,程序就应该停止了,除非使用ignore_user_abort(true);。
但这两天把系统环境更新成apache2.4+php5.5时,就发现了以上疑问,即使关闭浏览器程序任然运行,直到设定时间到为止。
是我以往理解的概念问题,还是更新后的设置问题,还是其他?


回复讨论(解决方案)

那你的经验是错误的!
按 php 的描述:
当远程用户点击 STOP 按钮后,脚本再次尝试输出数据时,PHP 将会检测到连接已被中断,并调用关闭触发函数。 

由于你的程序中没有输出,所以 php 不会检测到用户已离线,程序将继续运行

????器,php未?行完???行很正常。一直都是??的。

之前都??,卡在一?死循?了,要等php max_execution_time?期了才?止。


果然是我的问题,加了输出真的就停了,看来我以前有些ignore_user_abort都白加了...

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板