日期:2014-05-17  浏览次数:20421 次

php 定时器 怎么做???
php定时器功能,除了能用do,while做以后,还能怎么做?
具体如何实现?
php 定时器

------解决方案--------------------
还是尽量通过服务器端去处理这个事情,或者做成触发式的,如果一定要你这么搞我想你说的应该是用sleep吧
------解决方案--------------------
PHP定时器是什么?你说的是定点触发函数么?
PHP本身没有这种功能,不过你可以用sleep()来延迟脚本结束,或者进行递归调用也可以做到伪定时,实在不行,你就直接用JS里的ajax,通过JS的setTimeout()来定时请求PHP,也可以
------解决方案--------------------
php可以通过ignore_user_abort(TRUE);set_time_limit(0);结合使用实现定时任务,如果php部署在linux下,可以通过crontab job来实现定时任务
------解决方案--------------------

用操作系统的创建计划任务吧。
或者把定时器写到数据库里,如果你是想操作某些数据的话。

------解决方案--------------------
引用:
Quote: 引用:

do while当定时器?
是的。do while 里加sleep();控制几秒循环一次。可是这样会不会太耗cpu了?
会,而且可能会很大。
------解决方案--------------------
你的这个定时器,应该用JS的ajax来实现。定时主动访问服务器。
------解决方案--------------------
个人只知道定时任务。Bat文件。如果用php的sleep不停的执行下去,服务器迟早会挂
------解决方案--------------------
引用:
Quote: 引用:

PHP定时器是什么?你说的是定点触发函数么?
PHP本身没有这种功能,不过你可以用sleep()来延迟脚本结束,或者进行递归调用也可以做到伪定时,实在不行,你就直接用JS里的ajax,通过JS的setTimeout()来定时请求PHP,也可以
我这个是CI框架写的。页面通过ajax,找到控制层的一个方法。在这个方法里我要做一个定时推送功能。现在用do while 里加sleep();来做。可这么做会不会太耗cpu了?

是不是耗费cpu取决于每个周期里要处理的任务,单纯的sleep几乎不消耗cpu。
但是这种方案会大量消耗web服务器的可用的连接数。
------解决方案--------------------
js不是给PHP用的,在HTML里的。
你要弄的是在模板文件里添加ajax的访问控制,而PHP要做的就是应答这个ajax的请求,反馈数据给js。
------解决方案--------------------
这哪是服务器推送的事情,是客户端ajax定时请求,php响应返回数据。

而不应该是服务器定时执行php推送数据。