详解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(2)――PHP类型
Feb 15 PHP
php 数组的一个悲剧?
May 11 PHP
PHP中将网页导出为Word文档的代码
May 25 PHP
Could not load type System.ServiceModel.Activation.HttpModule解决办法
Dec 29 PHP
基于wordpress主题制作的具体实现步骤
May 10 PHP
PHP判断来访是搜索引擎蜘蛛还是普通用户的代码小结
Sep 14 PHP
php 无限分类 树形数据格式化代码
Oct 11 PHP
php实现页面纯静态的实例代码
Jun 21 PHP
php实现的redis缓存类定义与使用方法示例
Aug 09 PHP
PHP 进度条函数的简单实例
Sep 19 PHP
thinkphp5修改view到根目录实例方法
Jul 02 PHP
php设计模式之模板模式实例分析【星际争霸游戏案例】
Mar 24 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在获取指定目录下的目录,在获取的目录下面再创建文件,多平台
2011/08/03 PHP
采用PHP函数memory_get_usage获取PHP内存清耗量的方法
2011/12/06 PHP
php删除左端与右端空格的方法
2014/11/29 PHP
实现PHP+Mysql无限分类的方法汇总
2015/03/02 PHP
PHP实现搜索相似图片
2015/09/22 PHP
PHP有序表查找之二分查找(折半查找)算法示例
2018/02/09 PHP
jQuery插件的写法分享
2013/06/12 Javascript
JS版的date函数(和PHP的date函数一样)
2014/05/12 Javascript
Web Uploader文件上传插件使用详解
2016/05/10 Javascript
jQuery Chart图表制作组件Highcharts用法详解
2016/06/01 Javascript
AngularJS $injector 依赖注入详解
2016/09/14 Javascript
浅谈Node.js:理解stream
2016/12/08 Javascript
JavaScript表单验证的两种实现方法
2017/02/11 Javascript
jQuery Ajax前后端使用JSON进行交互示例
2017/03/17 Javascript
基于复选框demo(分享)
2017/09/27 Javascript
基于zepto.js实现登录界面
2017/10/09 Javascript
深入浅析vue全局环境变量和模式
2020/04/28 Javascript
[58:18]2018DOTA2亚洲邀请赛3月29日 小组赛B组 iG VS Mineski
2018/03/30 DOTA
[02:51]DOTA2 Supermajor小组分组对阵抽签仪式
2018/06/01 DOTA
python使用PyGame模块播放声音的方法
2015/05/20 Python
Python利用turtle库绘制彩虹代码示例
2017/12/20 Python
利用Hyperic调用Python实现进程守护
2018/01/02 Python
TensorFlow实现创建分类器
2018/02/06 Python
浅谈django orm 优化
2018/08/18 Python
利用python绘制数据曲线图的实现
2020/04/09 Python
open_basedir restriction in effect. 原因与解决方法
2021/03/14 PHP
Canvas实现贝赛尔曲线轨迹动画的示例代码
2019/04/25 HTML / CSS
美国著名的团购网站:Woot
2016/08/02 全球购物
Sephora丝芙兰马来西亚官方网站:国际化妆品购物
2018/03/15 全球购物
我的网上商城创业计划书
2013/12/26 职场文书
外贸采购员岗位职责
2014/03/08 职场文书
农民工工资支付承诺书
2015/05/04 职场文书
2019年个人工作总结范文(3篇)
2019/08/27 职场文书
Spring整合Mybatis的全过程
2021/06/28 Java/Android
Python获取指定日期是"星期几"的6种方法
2022/03/13 Python
MySQL 中如何归档数据的实现方法
2022/03/16 SQL Server