您的位置主页 > 编程专区 > Php > 用ignore_user_abort函数实现php计划任务

用ignore_user_abort函数实现php计划任务

2011-06-30    文章来源:互联网    浏览次数:608     分享文章

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

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

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

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

例子如下:

 
  1. <?php
  2. ignore_user_abort(); // run script in background
  3.  
  4. set_time_limit(0); // run script forever
  5.  
  6. $interval=60*15; // do every 15 minutes...
  7.  
  8. do{
  9.     // add the script that has to be ran every 15 minutes here
  10.     // ...
  11.     sleep($interval); // wait 15 minutes
  12. }while(true);
  13. ?>

但是这个方法也有一个问题,就是当重启了apache之后,脚本就被终止了。当然,要终止这个脚本,也只能通过重启apache或者服务器了。

文章评论(查看全部)

昵 称 *
电子邮箱 *
网 址      5 + 0 = ?