Rumah > pembangunan bahagian belakang > tutorial php > 竟然后台自动执行,这是php5.5的更新吗?

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

WBOY
Lepaskan: 2016-06-23 13:43:53
asal
962 orang telah melayarinya

很简单的一段代码

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);}
Salin selepas log masuk


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


回复讨论(解决方案)

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

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

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

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


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

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan