说到计划任务大家可能都想到用crontab来实现。可是并不是所有人都是使用linux系统,也不是所有人都有独立服务器。这时候如何用php来实现计划任务呢。

函数- [color=#FF4500]ignore_user_abort()[/color],这个函数可以帮助我们实现像linux中的cron一样实现计划任务,下面一起来看下该如何来实现。

该函数按照字面意思就是“忽略用户中断”,就是使用了该函数的php脚本不管用户有没有退出都会执行下去。

配合set_time_limit 和一个死循环就可以实现计划任务,这样在循环体中,去查询是否有任务需要执行!

例子如下:
[mycode=php]     ignore_user_abort(); // run script in background
     set_time_limit(0); // run script forever
     $interval=60*15; // do every 15 minutes…
     do{
        // add the script that has to be ran every 15 minutes here
        // …
        sleep($interval); // wait 15 minutes
    }while(true);
?>[/mycode]
但是这个方法也有一个问题,就是当重启了apache之后,脚本就被终止了。

 

0 Responses to 用ignore_user_abort函数实现php计划任务

  1. hill 说道:

    哥们  新年好!
    我看了你的blog,很漂亮。 可以把你的代码高亮的插件给我发一个吗?
    就是你上边例子如下那个代码的高亮插件给我发邮箱:zhxsh@vip.qq.com.
    小弟谢谢了

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

*
验证你是否是机器人,请输入以下图片中的单词。 点击图片可以收听此验证码。
点击收听验证码