• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Windows下Apache能否让一个PHP文件每隔几秒执行一次,该怎么解决

php 搞代码 4年前 (2022-01-23) 12次浏览 已收录 0个评论

Windows下Apache能否让一个PHP文件每隔几秒执行一次
请允许我问这个很白痴的问题,不过我琢磨了很长时间也没想到一个很好的解决办法。
背景是这样的:我需要一段PHP代码去定期的对数据库的数据进行操作,并把结果保存起来。假如只是在用户请求的时候去执行这段代码的话,用户的响应时间会很长,用户体验极差。所以我希望能有一个程序专门来执行这段代码。开始的时候想到用windows的计划任务来解决,但是由于执行的频率非常高,用计划任务显然不合适。
所以希望高人指点,若能给个简单的例子就再好不过了,谢谢!

——解决方案——————–
好像只能用计划任务,或者用PHP来执行

PHP code

ignore_user_abort();//关掉浏览器,PHP脚本也可以继续执行.set_time_limit(0);// 通过set_time_limit(0)可以让程序无限制的执行下去$interval=60*30;// 每隔半小时运行do{   //这里是你要执行的代码      sleep($interval);// 等待5分钟}while(true);<br /><font color='#e78608'>------解决方案--------------------</font><br />linux有cron,很好使。<br /><br />windows下如果mysql5.1以上,有Event Scheduler,不过没用过,LZ自己查下资料<br /><br /><font color='#e78608'>------解决方案--------------------</font><br />多种方法:<br />1.用sleep()<strong>(本文来源gaodai#ma#com搞@@代~&码网</strong><pre>搞代gaodaima码

函数实现类似linux contab定时执行的功能。

2.linux系统直接在crontab中添加定时任务。
——解决方案——————–
你可以做一个包含文件,同解一楼,然后在需要的地方包含进这个文件,既省去了不用的时候占用资源,而且随着调用而运行,多好啊,关闭网页之后还可以继续运行。只要任何动作都可触发就可以了吧。用load触发比较好。
——解决方案——————–
使用js,使网页定时刷新,在网页内读取数据库。只要网页打开,就可以一直运行。而且占用资源少
——解决方案——————–
用js刷新一个页面。

设置浏览器的主页为这个页面。

把浏览器加到windows的开机启动里。

——解决方案——————–
写测试脚本:
<?php

ignore_user_abort();//关掉浏览器,PHP脚本也可以继续执行.
set_time_limit(0);// 通过set_time_limit(0)可以让程序无限制的执行下去
$interval=30;// 每隔一定时间运行
do{

//这里是你要执行的代码
$msg=date(“Y-m-d H:i:s”) .” -执行了~ \n”;
file_put_contents(“log.log”,$msg,FILE_APPEND);

sleep($interval);// 等待5分钟
}while(true);

然后直接就可以在命令行里边执行
c:\php5\php.exe test.php

可以把这个加入开始开机运行 或加入到系统服务中,就可以自动运行了


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Windows下Apache能否让一个PHP文件每隔几秒执行一次,该怎么解决

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址