注册 登录
纳速健身 返回首页

awagink的个人空间 https://www.nasue.com/?1 [收藏] [复制] [RSS]

日志

使用php实现定时执行事件功能

已有 199 次阅读2013-11-3 12:47 |个人分类:php| function, 服务器, 定时器, 客户端, java

php 是脚本语言,实现定时器是有难度的。

有几个方案和大家共勉

这里譬如我要实现 定时统计某篇新闻的评论数。

1、使用php桌面运行库

首先有个PHP桌面运行支持库,叫做jeact,安装后,可以写php代码在桌面运行。

也包括了基本的一些UI.不过玩玩可以,不怎么建议使用,本身php就是干web端的事情,桌面端应该由其他适合的程序来干。

不过最近发现这货的官网无法访问了。可能确实没有什么大的价值

2、用其他语言编写客户端定时器

把统计评论数的代码写成一个function 函数,并发布成webservice,然后在服务器上用java或者c#或者go语言,编写一个桌面端程序 定时去调用该webservice。有人说为何不直接调用库,这里不建议这么做,因为数据库一般是外网隔离的,如果分布式部署,并不能保证你的桌面程序能 顺畅调用数据库。

 

3、使用php的特性函数

上述代码,只需用网页去访问一次,便可根据需求定时运行。

不过性能低,而且容易造成被攻击,所以一般开头都要加一些身份验证标识,防止被其他不相关用户访问到该页面(不要以为你藏起来就没人发现,用软件扫一下就知道你的页面在哪)

 

4、个人推荐的最佳办法。

这里主要讲解windows的办法

Linux ,请参考 这篇文章,非常方便就能实现 http://www.cnblogs.com/feisky/archive/2010/03/20/1690561.html

 

 windows下,调用windows计划任务这个老生常谈的功能

首先在网站中建立一个php文件,把函数写在php里面,保证只要访问这个页面就能执行这个函数,为了安全最好带一个加密参数,在php中判断 是否密钥正确

如 :exec.php?pwd=&%%&(^^FFEW

然后在exec.php 头部写上

 

首先建立一个 bat文件,如exec.bat

在文件中写上

D:\这里是你php按照路径\php.exe -q c:\网站路径\exec.php?pwd=&%%&(^^FFEW

完毕后保存 即可。

  最后、建立一个WINDOWS计划任务:
开始–>控制面板–>任务计划–>添加任务计划
浏览文件夹选择上面的exec.bat 文件
设置时间和密码(登陆WINDOWS的)
保存.

 

一切OK,接下来只需运行就可以。

 

这里本人不建议使用队列服务来做。一个不靠谱,二个很难监控其稳定性,第三个和web主程序绑定太深、性能不高。

队列不是用来干定时服务这些事情的。

http://www.shenyisyn.org/2013/06/14/php-timer.htm

评论 (0 个评论)
纳速健身网成立于2006年8月,是国内优秀健身运动网站,现拥浏览人数超30万。网站是集养生、武术、太极拳和健身气功等多种健身项目于一体的多功能交流平台。平台提供大量优质的教学视频、伴奏音乐(太极拳晨练音乐,广场舞音乐,健身气功音乐)、图文教程、运动科普和经验分享,为健身爱好者提供完善的运动指导平台。
  • 纳速QQ群乙:151815303
  • 纳速QQ群丙:79104490
  • 微信交流群:微信好友搜索【nasuwang】加小纳微信进群交流健身知识,备注【纳速】
  •                     或者扫描页面底部右侧二维码添加小纳微信>>>
  • 微信公众号

  • 微信群客服交流

  • Copyright © 2006-2021, 纳速健身网. | | 辽ICP备13002388号-1 辽公安网备21050202000005号公安网备号 纳速武术-乙 QQ