详解PHP实现执行定时任务


Posted in PHP onDecember 21, 2015

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','a+');
 fwrite($fp,"这是一个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 相关文章推荐
一个php作的文本留言本的例子(一)
Oct 09 PHP
PHP swfupload图片上传的实例代码
Sep 30 PHP
支持中文和其他编码的php截取字符串函数分享(截取中文字符串)
Mar 13 PHP
PHP CURL获取返回值的方法
May 04 PHP
php中explode的负数limit用法分析
Feb 27 PHP
php随机生成数字字母组合的方法
Mar 18 PHP
PHP微信开发之有道翻译
Jun 23 PHP
php实现多维数组排序的方法示例
Mar 23 PHP
PHP实现深度优先搜索算法(DFS,Depth First Search)详解
Sep 16 PHP
PHP实现将多个文件压缩成zip格式并下载到本地的方法示例
May 23 PHP
PHP fprintf()函数用法讲解
Feb 16 PHP
laravel框架中路由设置,路由参数和路由命名实例分析
Nov 23 PHP
php官方微信接口大全(微信支付、微信红包、微信摇一摇、微信小店)
Dec 21 #PHP
php防止CC攻击代码 php防止网页频繁刷新
Dec 21 #PHP
PHP版本常用的排序算法汇总
Dec 20 #PHP
php封装好的人民币数值转中文大写类
Dec 20 #PHP
使用PHP如何实现高效安全的ftp服务器(一)
Dec 20 #PHP
基于PHP代码实现中奖概率算法可用于刮刮卡、大转盘等抽奖算法
Dec 20 #PHP
WordPress中给文章添加自定义字段及后台编辑功能区域
Dec 19 #PHP
You might like
PHP中“简单工厂模式”实例代码讲解
2012/09/04 PHP
PHP图片裁剪与缩放示例(无损裁剪图片)
2017/02/08 PHP
PHP实现的各类hash算法长度及性能测试实例
2017/08/27 PHP
PHP多进程之pcntl_fork的实例详解
2017/10/15 PHP
php实现的生成迷宫与迷宫寻址算法完整实例
2017/11/06 PHP
php实现支付宝当面付(扫码支付)功能
2018/05/30 PHP
PHP正则验证字符串是否为数字的两种方法并附常用正则
2019/02/27 PHP
什么是Node.js?Node.js详细介绍
2014/06/01 Javascript
jquery实现仿Flash的横向滑动菜单效果代码
2015/09/17 Javascript
zTree插件下拉树使用入门教程
2016/04/11 Javascript
JavaScript中有关一个数组中最大值和最小值及它们的下表的输出的解决办法
2016/07/01 Javascript
jQuery css() 方法动态修改CSS属性
2016/09/25 Javascript
搭建Bootstrap离线文档的方法
2016/12/02 Javascript
JS使用正则表达式验证身份证号码
2017/06/23 Javascript
浅谈JavaScript中的属性:如何遍历属性
2017/09/14 Javascript
详解ES6通过WeakMap解决内存泄漏问题
2018/03/09 Javascript
小程序组件之自定义顶部导航实例
2019/06/12 Javascript
详解js中的原型,原型对象,原型链
2020/07/16 Javascript
vue图片裁剪插件vue-cropper使用方法详解
2020/12/16 Vue.js
python遍历文件夹并删除特定格式文件的示例
2014/03/05 Python
Python进行数据科学工作的简单入门教程
2015/04/01 Python
批处理与python代码混合编程的方法
2016/05/19 Python
使用Python的toolz库开始函数式编程的方法
2018/11/15 Python
centos7之Python3.74安装教程
2019/08/15 Python
python十进制转二进制的详解
2020/02/07 Python
Sephora丝芙兰菲律宾官方网站:购买化妆品和护肤品
2017/04/05 全球购物
顶丰TOPPIK台湾官网:增发纤维假发,告别秃发困扰
2018/06/13 全球购物
英国领先的体验日提供商:Buyagift
2019/04/19 全球购物
《守株待兔》教学反思
2014/03/01 职场文书
三八红旗手先进事迹材料
2014/05/13 职场文书
应届生简历自我评价
2015/03/11 职场文书
新闻报道稿范文
2015/07/23 职场文书
导游词范文之颐和园/重庆/云台山
2019/09/10 职场文书
pytorch中的numel函数用法说明
2021/05/13 Python
Python中zipfile压缩包模块的使用
2021/05/14 Python
教你用python实现一个无界面的小型图书管理系统
2021/05/21 Python