怪我咯2017-04-10 17:13:321楼

PHP在发送信息给客户端时,才能检测连接是否已经中断.

http://php.net/manual/zh/function.ignore...

php.ini中ignore_user_abort默认是Off,不忽略用户的中断,也就是客户端断开连接后,脚本将被中止.

在PHP尝试发送信息到客户端之前,不会检测到用户是否已中断连接.

仅使用echo语句不能确保信息已发送,参见flush()函数.

info.php

for($i=0;$i<5;$i++) {

sleep(1);

}

file_put_contents('/tmp/info.txt', $i);

测试:

time curl http://127.0.0.1/info.php

Ctrl+C中断请求(PHP-FPM)最后还是生成了文件info.txt.

因为该请求没有输出,PHP无法检测用户是否已中断连接.

PHP在发送信息给浏览器时,才能检测连接是否已经中断.

比如执行这段代码,在5秒内中断请求,将不会生成文件info.txt:

for($i=0;$i<5;$i++) {

echo $i;

ob_flush();

flush();

sleep(1);

}

file_put_contents('/tmp/info.txt', $i);

php 一直运行页面,为什么浏览器关闭后PHP还会一直执行啊相关推荐

  1. vue关闭页面或刷新页面触发浏览器关闭提醒

    关闭单个页面.整个浏览器.刷新都可以触发 mounted() {window.onbeforeunload = e => {e = e || window.event// 兼容IE8和Firef ...

  2. 接口超时后程序还会继续执行嘛_答网友问:分析一段STL程序,并就如何读懂一段程序谈几点感想...

    在文章<S7-300/400进阶笔记5.1:300系列PLC的装载存储器的类别及方法>一文后,有小伙伴在评论区提了个问题,驼子决定有必要写一篇文章,和大家一起讨论一下.也希望小伙伴们能向& ...

  3. 在dw打开html怎么修改,DW修改后网页运行页面不变如何解决?

    dreamweaver cs6官方电脑版下载(32位64位) 软件大小:278MB授权方式:免费软件 立即下载 Dreamweaver修改后的网页运行页面不变该怎么办?Dreamweaver修改页面一 ...

  4. js监测页面关闭发送Ajax请求(浏览器关闭注销用户,清空session)

    说明: 需求为页面关闭发送一个ajax请求,使关闭浏览器及时清空session(浏览器关闭session并不会清空) 网站同时只能一个用户登录,同一账号后登录的用户不能把前一个登录的用户踢下线,有一个 ...

  5. tomcat关闭后线程依然运行解决办法

    tomcat关闭后线程依然运行解决办法,设置线程为守护线程 守护线程与非守护线程 最近在看多线程的Timer章节,发现运用到了守护线程,感觉Java的基础知识还是需要补充. Java分为两种线程:用户 ...

  6. Layer弹出层关闭后刷新父页面

    一.Layer弹出层关闭后刷新父页面 //编辑 $("#edit").on("click", function(){var id = getIdSelectio ...

  7. 一网打尽win10 Google Chrome浏览器打开后默认 桔梗 页面

    一网打尽 win10 Google Chrome浏览器打开后默认 桔梗 页面 真是莫名其妙,突然有一天,码农coding打开Google Chrome浏览器,当当当... 且看下图 初步诊断:win1 ...

  8. wps应用程序实例_有一个WPS Office应用程序实例wps.exe在运行,请关闭后重试 。如何解决?...

    点击查看有一个WPS Office应用程序实例wps.exe在运行,请关闭后重试 .如何解决?具体信息 答:请按照下面步骤试试:右击任务栏-启动任务管理器-进程-结束进程树 1.右击系统下方的任务栏, ...

  9. IOS微信6.7.4输入框失去焦点,软键盘关闭后,被撑起的页面无法回退到原来正常的位置

    IOS微信6.7.4输入框失去焦点,软键盘关闭后,被撑起的页面无法回退到原来正常的位置 近期在开发微信H5页面时碰到这个问题,如图,软键盘弹起后,若原输入框被遮挡,页面整体将会上移,然而当输入框失焦, ...

最新文章

  1. Python 图像 一样大小_Python图像处理,顺便生成一张海报
  2. RESTLET开发实例(二)使用Component、Application的REST服务
  3. 运用vue.js写的表格小demo
  4. 125. Leetcode 91. 解码方法 (动态规划- 字符串系列)
  5. java方法中 thread,Java中的線程Thread方法之---join()
  6. sde表空间无法导入数据和编辑
  7. CSS中常见的长度单位
  8. Redis集群分片存储原理图
  9. 面试题 17.13. 恢复空格
  10. MySQL数据库模式_SQL模式
  11. leetcode1046. 最后一块石头的重量(堆)
  12. C语言循环时无故释放变量吗,C语言 - while循环体内变量重新声明,陷入***循环。...
  13. 如何修改influxdb表结构_influxdb的基本使用
  14. php pdo 抛出异常模式,php实现的PDO异常处理操作分析
  15. 四、Oracle的复杂查询
  16. 新申请了一个博客,这个博客主要用来记录编程学习笔记
  17. DEM数据下载,拼接,裁剪
  18. 如何在右键新建中添加新建xmind文件
  19. 考勤表生成工具介绍及使用说明
  20. Linux下oracle数据库备份方案

热门文章

  1. 排序算法(3)----归并排序
  2. python绘图库seaborn_python绘图库——Matplotlib及Seaborn使用(入门篇2)
  3. WPF TreeView 相关技巧
  4. 状压[Jxoi2012]奇怪的道路
  5. [BZOJ 1047]理想的正方形
  6. 原生DOM选择器querySelector和querySelectorAll
  7. Android Root原理初探
  8. Javascript自定义类
  9. Google的wiki-map也上线了
  10. 文章id 文章标题点击量php,zblogphp函数:GetPost 获取指定ID/标题/别名的文章或页面数据...