关于PHP定时执行任务的几个解决方案

php中经常用到时运行的脚本。由于PHP语言特性,目前来看,大多数借助于系统的定时任务来实现:
linux/unix下,我们可以使用crontab这个神器,以cli运行php脚本来。
windows下设定一个定时任务的bat脚本。

 

还有几种方法:

1. 适用于没有太高权限的虚拟主机,就是把待调用的php动作放到首页的JS里,用JS来调用这个动作,这样每次访问首页的时候,都可以判断一下,现在是不是有需要调用这个任务,但是这种方法太过于依赖首页的访问量,要是首页很长时间没人访问,那么可能会导致php脚本不能按时运行。

2. 在php脚本中直接设置set_time_limit(0),然后ignore_user_abort(),让PHP脚本不超时并且忽略掉用户关闭页面动作,把要执行的代码放到一个死循环当中,不过这种方法是让PHP以守护进程的方式运行,如果代码控制不好的话,容易造成内存泄漏,直接跑挂服务器。

3. 其实最好的方法还是用Linux下的crontab,或者用SAE这种第三方云的Cron服务。

 

有个小伙伴推荐使用这个【用crontab的话,可以试试这个 https://github.com/javan/whenever】,写这种的任务非常的简便,*inux下非常适合,简单的一个脚本解决。

关于PHP定时执行任务的几个解决方案,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。