加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

详解PHP实现执行定时任务

发布时间:2020-12-13 03:00:52 所属栏目:PHP教程 来源:网络整理
导读:《:详解PHP实现执行定时任务》要点: 本文介绍了:详解PHP实现执行定时任务,希望对您有用。如果有疑问,可以联系我们。 PHP学习 PHP在这方面应该说是比拟弱,如果只用php去实现可以如下: ?php ignore_user_abort();//关闭浏览器后,继续执行php代码 set_tim

《:详解PHP实现执行定时任务》要点:
本文介绍了:详解PHP实现执行定时任务,希望对您有用。如果有疑问,可以联系我们。

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


<?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);
 
?>

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


<?php
return 1;//1执行脚本 0退出执行脚本
?>

改良脚本如下:


<?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',"这是一个php博客:phpddt.com $switch n");
 fclose($fp);
 sleep($sleep_time);
 }
 exit();
 
?>

这个脚本只是测试可行,具体效率应该不高,对于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、MYSQL、LINUX、APP、JS,CSS全面培养人才。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读