【在线求助】关于php定时器问题
新手求助关于php定时器问题:
我想在php上写个定时器,但php貌似不支持这个功能, 在网上查了很多朋友的方法,但都不行,
我现在想通过一个死循环来实现,但也不行,求助给我大哥大姐了。。。
<?php<br />
ignore_user_abort(true);<br />
set_time_limit(0); <br />
function test(){<br />
echo "测试定时器!";<br />
}<br />
<br />
do{<br />
sleep(3);//<br />
test();<br />
}while(1) <br />
?>
php
------解决方案--------------------你想要干什么?
------解决方案--------------------jquery延时吧,结合 ajax。
------解决方案--------------------crontab/计划任务
------解决方案--------------------
其实你的方法是可行的 值是不应该用echo来表现 因为PHP在运行过程中echo的信息是存放在缓冲区的 在程序运行完前并不会输出 所以你看不到效果
你可以把echo换成数据库操作语句 比如没5秒添加1条数据 你再看一下有没有用
------解决方案--------------------还有 测试时最好不要加ignore_user_abort 这个会后台运行 即使关闭浏览器仍然会继续执行 除非从进程中停止
------解决方案--------------------网页关闭有效时间就不会更新了呀
比如你定时是1分钟访问一次 那么有效时间和当前时间的时间差超过1分钟的用户自然就不在线
------解决方案--------------------可以用window.setInterval();结合ajax来不断的向某个php文件发送数据,或者请求数据。
------解决方案--------------------可以用递归函数实现你的这个功能