免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: spiceboy
打印 上一主题 下一主题

忘了,问一下:如何在用户中止了浏览器之后,让php程序继续运行? [复制链接]

论坛徽章:
0
31 [报告]
发表于 2006-04-09 01:17 |只看该作者
你的意思是你在关闭浏览器后会生成test.txt?

如果是那么这个也可以达到你要的功能
<?PHP
sleep(10);
touch("jl.txt");
?>

我理解错误的话,还请说的相信点。谢谢

论坛徽章:
0
32 [报告]
发表于 2006-04-09 04:25 |只看该作者
楼上你 的代码能够在关闭ie后生成?怀疑

论坛徽章:
0
33 [报告]
发表于 2006-04-09 11:53 |只看该作者
  1. <?
  2. ignore_user_abort(False);
  3. sleep(10);
  4. echo "20 seconds remind";
  5. sleep(20);
  6. touch("/var/www/test.txt");
  7. echo "finished"
  8. ?>
复制代码

以上述代码建立一个 test_set_ignore_user_abort_false.php 文件,
起动 apache2 web server
起动 ethereal 开始捕获数据包
打开浏览器,访问 http://localhost/test_set_ignore_user_abort_false.php
10秒内关闭浏览器。
30秒后得到嗅觉器抓图如下:

顺便附上 ethereal 的 Capture-file.

结果好象说明 ignore_user_abort 不起作用;
而且 web server 是处理完整个 php 才返回给浏览器结果的。

[ 本帖最后由 x2 于 2006-4-9 16:43 编辑 ]

php.png (67.73 KB, 下载次数: 38)

php.png

capture.tar.gz

990 Bytes, 下载次数: 10

论坛徽章:
0
34 [报告]
发表于 2006-04-09 12:22 |只看该作者
原帖由 zairwolf 于 2006-4-9 04:25 发表
楼上你 的代码能够在关闭ie后生成?怀疑


我测试过,你测试了吗?

论坛徽章:
0
35 [报告]
发表于 2006-04-09 13:09 |只看该作者

对php实现daemon这个问题曾经做个测试

<?
ignore_user_abort(true);
set_time_limit(0);

while(1)
{
        fwrite(fopen("log.txt",'w'),date('Y/m/d H:m:s'));

        sleep(2);
        if( file_exists("stop.txt") ) break;

}

?>

用top命令观察CPU占用并没有异常
log.txt的时间一直更新了4天左右,因此可配合crontab再运行个定时检查,若发现log.txt不再更新的就发起一个socket访问即可.
这个问题还要注意运行实例的唯一性.

实践是最好的说明,大家有兴趣就动手试一下,老是坐在那里空想理论没什么用的.

论坛徽章:
0
36 [报告]
发表于 2006-04-09 21:05 |只看该作者
原帖由 james.liu 于 2006-4-9 12:22 发表


我测试过,你测试了吗?



好像执行时就生成了。。。

还是我理解错了?

论坛徽章:
0
37 [报告]
发表于 2006-04-09 22:00 |只看该作者
同上,也发现这个问题。似乎不需要那个ignore_user_abort的说。

论坛徽章:
0
38 [报告]
发表于 2006-04-09 22:45 |只看该作者
那个叫什么狼的怎么那么烦

论坛徽章:
62
2016科比退役纪念章
日期:2016-06-28 17:45:06奥兰多魔术
日期:2015-05-04 22:47:40菠菜神灯
日期:2015-05-04 22:35:07菠菜神灯
日期:2015-05-04 22:35:02NBA季后赛大富翁
日期:2015-05-04 22:33:34NBA常规赛纪念章
日期:2015-05-04 22:32:032015年亚洲杯纪念徽章
日期:2015-04-14 16:54:452015年亚洲杯之朝鲜
日期:2015-03-19 23:03:16明尼苏达森林狼
日期:2015-03-16 21:51:152015小元宵徽章
日期:2015-03-06 15:57:202015年迎新春徽章
日期:2015-03-04 09:55:282015年辞旧岁徽章
日期:2015-03-03 16:54:15
39 [报告]
发表于 2006-04-10 09:42 |只看该作者
大家都这么有兴趣, 请大家反过来想想。

如何做到用户中止了浏览器之后,让php程序立刻停止运行

论坛徽章:
62
2016科比退役纪念章
日期:2016-06-28 17:45:06奥兰多魔术
日期:2015-05-04 22:47:40菠菜神灯
日期:2015-05-04 22:35:07菠菜神灯
日期:2015-05-04 22:35:02NBA季后赛大富翁
日期:2015-05-04 22:33:34NBA常规赛纪念章
日期:2015-05-04 22:32:032015年亚洲杯纪念徽章
日期:2015-04-14 16:54:452015年亚洲杯之朝鲜
日期:2015-03-19 23:03:16明尼苏达森林狼
日期:2015-03-16 21:51:152015小元宵徽章
日期:2015-03-06 15:57:202015年迎新春徽章
日期:2015-03-04 09:55:282015年辞旧岁徽章
日期:2015-03-03 16:54:15
40 [报告]
发表于 2006-04-10 13:11 |只看该作者
这次是和spiceboy兄弟第三次讨论问题。
一次关于spiceboy说自己的网站5000人在线,结果估计也就百人在线。
再一次spiceboy推崇gmail是革命性的,居然伟大到先推出web再推出pop3。 现在知道pop3是什么了?

如果这算是钻牛角尖, 那以后我看没人敢和spiceboy讨论问题了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP