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

【在线求助】关于php定时器问题
新手求助关于php定时器问题:
我想在php上写个定时器,但php貌似不支持这个功能, 在网上查了很多朋友的方法,但都不行, 
我现在想通过一个死循环来实现,但也不行,求助给我大哥大姐了。。。
<?php
ignore_user_abort(true);
set_time_limit(0); 
function test(){
echo "测试定时器!";
}

do{
sleep(3);//
test();
}while(1) 
?>
php

------解决方案--------------------
你想要干什么?
------解决方案--------------------
jquery延时吧,结合 ajax。
------解决方案--------------------
crontab/计划任务
------解决方案--------------------
引用:
新手求助关于php定时器问题:
我想在php上写个定时器,但php貌似不支持这个功能, 在网上查了很多朋友的方法,但都不行, 
我现在想通过一个死循环来实现,但也不行,求助给我大哥大姐了。。。
PHP code?123456789101112<?php    ignore_user_abort(true);    set_time_limit(0);     fun……

其实你的方法是可行的  值是不应该用echo来表现   因为PHP在运行过程中echo的信息是存放在缓冲区的  在程序运行完前并不会输出   所以你看不到效果
你可以把echo换成数据库操作语句   比如没5秒添加1条数据   你再看一下有没有用
------解决方案--------------------
还有  测试时最好不要加ignore_user_abort   这个会后台运行  即使关闭浏览器仍然会继续执行   除非从进程中停止
------解决方案--------------------
网页关闭有效时间就不会更新了呀
比如你定时是1分钟访问一次  那么有效时间和当前时间的时间差超过1分钟的用户自然就不在线
------解决方案--------------------
可以用window.setInterval();结合ajax来不断的向某个php文件发送数据,或者请求数据。
------解决方案--------------------
可以用递归函数实现你的这个功能