详解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防注入漏洞过滤函数代码
Apr 11 PHP
CodeIgniter基本配置详细介绍
Nov 12 PHP
php中mysql连接和基本操作代码(快速测试使用,简单方便)
Apr 25 PHP
PHP中UNIX时间戳和日期间的转换与计算实例
Nov 19 PHP
php实现图片转换成ASCII码的方法
Apr 03 PHP
学习php设计模式 php实现观察者模式(Observer)
Dec 09 PHP
讲解WordPress开发中一些常用的debug技巧
Dec 18 PHP
php断点续传之文件分割合并详解
Dec 13 PHP
对于Laravel 5.5核心架构的深入理解
Feb 22 PHP
PHP有序表查找之插值查找算法示例
Feb 10 PHP
PHP Post获取不到非表单数据的问题解决办法
Feb 27 PHP
php上传后台无法收到数据解决方法
Oct 28 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
echo(),print(),print_r()之间的区别?
2006/11/19 PHP
ThinkPHP中session函数详解
2016/09/14 PHP
js变量作用域及可访问性的探讨
2006/11/23 Javascript
Javascript面象对象成员、共享成员变量实验
2010/11/19 Javascript
电子商务网站上的常用的js放大镜效果
2011/12/08 Javascript
Extjs实现进度条的两种便捷方式
2013/09/26 Javascript
浅析JavaScript基本类型与引用类型
2014/05/28 Javascript
jQuery中live()方法用法实例
2015/01/19 Javascript
在JavaScript应用中使用RequireJS来实现延迟加载
2015/07/01 Javascript
跟我学习javascript的prototype,getPrototypeOf和__proto__
2015/11/17 Javascript
轻松实现js图片预览功能
2016/01/18 Javascript
如何使用PHP+jQuery+MySQL实现异步加载ECharts地图数据(附源码下载)
2016/02/23 Javascript
Angular ng-class详解及实例代码
2016/09/19 Javascript
原生js实现放大镜特效
2017/03/08 Javascript
jQuery选择器_动力节点Java学院整理
2017/07/05 jQuery
微信小程序实现表单校验功能
2020/03/30 Javascript
在Vue中使用Compass的方法
2018/03/02 Javascript
Vuex新手的理解与使用详解
2019/05/31 Javascript
js实现鼠标切换图片(无定时器)
2021/01/27 Javascript
使用python搭建Django应用程序步骤及版本冲突问题解决
2013/11/19 Python
python监控网站运行异常并发送邮件的方法
2015/03/13 Python
使用pandas把某一列的字符值转换为数字的实例
2019/01/29 Python
python将print输出的信息保留到日志文件中
2019/09/27 Python
python matplotlib画盒图、子图解决坐标轴标签重叠的问题
2020/01/19 Python
Python 解析简单的XML数据
2020/07/24 Python
沃达丰英国有限公司:Vodafone英国
2019/04/16 全球购物
英国床垫和床架购物网站:Bedman
2019/11/04 全球购物
什么是"引用"?申明和使用"引用"要注意哪些问题?
2016/03/03 面试题
学雷锋志愿服务月活动总结
2014/03/09 职场文书
应聘文员自荐信范文
2014/03/11 职场文书
工会主席事迹材料
2014/06/03 职场文书
公安局负责人查摆问题及整改方案
2014/09/27 职场文书
委托培训协议书
2014/11/17 职场文书
Python机器学习实战之k-近邻算法的实现
2021/11/27 Python
Win11安装升级时提示“该电脑必须支持安全启动”
2022/04/19 数码科技
微信小程序调用python模型
2022/04/21 Python