首页 > 后端开发 > php教程 > 详解PHP实现执行定时任务,_PHP教程

详解PHP实现执行定时任务,_PHP教程

WBOY
发布: 2016-07-12 09:02:32
原创
846 人浏览过

详解PHP实现执行定时任务,

PHP在这方面应该说是比较弱,如果只用php去实现可以如下:

<&#63;php
 ignore_user_abort();//关闭浏览器后,继续执行php代码
 set_time_limit(0);//程序执行时间无限制
 $sleep_time = 1;//多长时间执行一次
 do{
 $fp = fopen('test.txt','a+');
 fwrite($fp,"这是一个php博客:phpddt.com \n");
 fclose($fp);
 sleep($sleep_time);
 }while(true);
 
&#63;>

登录后复制

但是当我执行脚本的时候,即使我关闭了浏览器,我根本就没法去停止这段程序了,所以你需要一个执行脚本的开关,你可以用外部文件引入的方法来实现,在while循环的时候,include开关变量即可。那么就可以这样实现:
建立外部引入变量文件 switch.php 内容如下:

<&#63;php
return 1;//1执行脚本 0退出执行脚本
&#63;>
登录后复制

改良脚本如下:

<&#63;php
 ignore_user_abort();//关闭浏览器后,继续执行php代码
 set_time_limit(0);//程序执行时间无限制
 $sleep_time = 5;//多长时间执行一次
 $switch = include 'switch.php';
 while($switch){
 $switch = include 'switch.php';
 $fp = fopen('test.txt','a+');
 fwrite($fp,"这是一个php博客:phpddt.com $switch \n");
 fclose($fp);
 sleep($sleep_time);
 }
 exit();
 
&#63;>

登录后复制

这个脚本只是测试可行,具体效率应该不高,对于lamp,你完全可以使用crontab 来实现。
再补充一段小代码:

ignore_user_abort();//关掉浏览器,PHP脚本也可以继续执行.
set_time_limit(0);// 通过set_time_limit(0)可以让程序无限制的执行下去
$interval=60*30;// 每隔半小时运行
do{
  //这里是你要执行的代码  
  sleep($interval);// 等待5分钟
}while(true);
登录后复制

关于PHP定时执行任务的实现就为大家介绍这么多,之后还有相关文章为大家分享,不要错过。

您可能感兴趣的文章:

  • PHP得到某段时间区间的时间戳 php定时任务
  • linux使用crontab实现PHP执行计划定时任务
  • php版本的cron定时任务执行器使用实例
  • PHP中使用sleep函数实现定时任务实例分享
  • PHP定时任务延缓执行的实现
  • 调试WordPress中定时任务的相关PHP脚本示例

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1084587.htmlTechArticle详解PHP实现执行定时任务, PHP在这方面应该说是比较弱,如果只用php去实现可以如下: php ignore_user_abort();//关闭浏览器后,继续执行php代码...
相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板