【在线求助】关于php定时器问题

php中文网
发布: 2016-06-23 14:11:01
原创
1153人浏览过

新手求助关于php定时器问题:
我想在php上写个定时器,但php貌似不支持这个功能, 在网上查了很多朋友的方法,但都不行, 
我现在想通过一个死循环来实现,但也不行,求助给我大哥大姐了。。。

<?php	ignore_user_abort(true);	set_time_limit(0); 	function test(){		echo "测试定时器!";	}		do{		sleep(3);//		test();	}while(1) ?>
登录后复制


回复讨论(解决方案)

你想要干什么?

你想要干什么? 我想通过php获取页面的一个session值,如果页面关闭了或该session值失效了就执行一条SQL语句,修改当前用户的登录状态

很遗憾 php 没有定时器

很遗憾 php 没有定时器 是啊,我知道php没有定时器,所以我想通过别的方法来实现啊

那就是:明知不可为而为之,?!?

世上无难事,只怕有心人

php一般是结合linux的cron做定时batch的

jquery延时吧,结合 ajax。

crontab/计划任务

新手求助关于php定时器问题:
我想在php上写个定时器,但php貌似不支持这个功能, 在网上查了很多朋友的方法,但都不行, 
我现在想通过一个死循环来实现,但也不行,求助给我大哥大姐了。。。
PHP code?123456789101112 其实你的方法是可行的  值是不应该用echo来表现   因为PHP在运行过程中echo的信息是存放在缓冲区的  在程序运行完前并不会输出   所以你看不到效果
你可以把echo换成数据库操作语句   比如没5秒添加1条数据   你再看一下有没有用

还有  测试时最好不要加ignore_user_abort   这个会后台运行  即使关闭浏览器仍然会继续执行   除非从进程中停止

引用 楼主 fff32165 的回复:新手求助关于php定时器问题:
我想在php上写个定时器,但php貌似不支持这个功能, 在网上查了很多朋友的方法,但都不行, 
我现在想通过一个死循环来实现,但也不行,求助给我大哥大姐了。。。
PHP code?123456789101112 我把echo "测试定时器"改为 echo "<script>alert(\"测试定时器\");</script>"; 行不?如果没有弹出来的话我执行一条SQL语句它会去执行么?这个马上试下

引用 1 楼 cainiaophper 的回复:你想要干什么?我想通过php获取页面的一个session值,如果页面关闭了或该session值失效了就执行一条SQL语句,修改当前用户的登录状态

这个想法貌似不行啊

应该这样做  在数据库的用户表中键一个有效时间字段  通过这个字段的数据和当前时间做对比   超过一定时间即不在线
同时页面上写一个js定时器   定时ajax访问服务器更新有效时间字段

引用 2 楼 fff32165 的回复:引用 1 楼 cainiaophper 的回复:你想要干什么?我想通过php获取页面的一个session值,如果页面关闭了或该session值失效了就执行一条SQL语句,修改当前用户的登录状态

这个想法貌似不行啊

应该这样做  在数据库的用户表中键一个有效时间字段  通过这个字段的数据和当前时间做对比   超过一定时间即…… 如果是用JS定时器的话,那我网页关闭了JS不就失效了么?

网页关闭有效时间就不会更新了呀
比如你定时是1分钟访问一次  那么有效时间和当前时间的时间差超过1分钟的用户自然就不在线

网页关闭有效时间就不会更新了呀
比如你定时是1分钟访问一次  那么有效时间和当前时间的时间差超过1分钟的用户自然就不在线 其实我要的效果就是网页非法关闭了,例如客户端断电了,网页关了之后 我要执行一条SQL语句更改用户的登录状态,

其实我要的效果就是网页非法关闭了,例如客户端断电了,网页关了之后 我要执行一条SQL语句更改用户的登录状态,
客户端网页的关闭状态  服务端时无法获取的   除非你们用socket连接
用我的方法   就是变相实现了socket的心跳机制   当网页非法关闭时你数据库中的有效时间就不会被更新了  从而你就知道网页被关闭了
当然如果你一定要用登录状态字段  就用你的PHP代码去不断查询数据库中的有效时间字段  判断是否过期  来修改登录状态吧(不过我觉得这步没必要,你完全可以用时间字段直接代替登录状态)

可以用window.setInterval();结合ajax来不断的向某个php文件发送数据,或者请求数据。

可以用递归函数实现你的这个功能

指定时间 去执行数据库操作 sleep() 需要一直停留在页面 怎样能实现在后台去等待 前台继续其他的操作呢

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号