详解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 adodb连接带密码access数据库实例,测试成功
May 14 PHP
PHP验证码类代码( 最新修改,完全定制化! )
Dec 02 PHP
PHP中数组定义的几种方法
Sep 01 PHP
php上传文件中文文件名乱码的解决方法
Nov 01 PHP
php下载文件源代码(强制任意文件格式下载)
May 09 PHP
ThinkPHP做文字水印时提示call an undefined function exif_imagetype()解决方法
Oct 30 PHP
基于递归实现的php树形菜单代码
Nov 19 PHP
PHP的Yii框架中使用数据库的配置和SQL操作实例教程
Mar 17 PHP
老生常谈PHP面向对象之命令模式(必看篇)
May 24 PHP
php表单文件iframe异步上传实例讲解
Jul 26 PHP
PHP PDOStatement::nextRowset讲解
Feb 01 PHP
Laravel框架源码解析之反射的使用详解
May 14 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
日本十大科幻动漫 宇宙骑士垫底,第一已成经典
2020/03/04 日漫
IIS6.0中配置php服务全过程解析
2013/08/07 PHP
PHP7中I/O模型内核剖析详解
2019/04/14 PHP
php7新特性的理解和比较总结
2019/04/14 PHP
用JavaScript编写COM组件的步骤
2009/03/17 Javascript
Js 时间间隔计算的函数(间隔天数)
2011/11/15 Javascript
电子商务网站上的常用的js放大镜效果
2011/12/08 Javascript
JS特权方法定义作用以及与公有方法的区别
2013/03/18 Javascript
js实现简单登录功能的实例代码
2013/11/09 Javascript
jquery操作select方法汇总
2015/02/05 Javascript
使用Javascript判断浏览器终端设备(PC、IOS(iphone)、Android)
2017/01/04 Javascript
bootstrap 通过加减按钮实现输入框组功能
2017/11/15 Javascript
angular实现input输入监听的示例
2018/08/31 Javascript
python脚本实现分析dns日志并对受访域名排行
2014/09/18 Python
Python中利用Scipy包的SIFT方法进行图片识别的实例教程
2016/06/03 Python
Windows安装Python、pip、easy_install的方法
2017/03/05 Python
Python的mysql数据库的更新如何实现
2017/07/31 Python
Python实现读写sqlite3数据库并将统计数据写入Excel的方法示例
2017/08/07 Python
python机器学习理论与实战(二)决策树
2018/01/19 Python
python pandas 对series和dataframe的重置索引reindex方法
2018/06/07 Python
python dataframe 输出结果整行显示的方法
2018/06/14 Python
详解Django+uwsgi+Nginx上线最佳实战
2019/03/14 Python
利用Python实现Shp格式向GeoJSON的转换方法
2019/07/09 Python
CSS3 Columns分列式布局方法简介
2014/05/03 HTML / CSS
预订从美国飞往印度的机票:MyTicketsToIndia
2017/05/19 全球购物
英国领先的运动物理治疗供应公司:Vivomed
2018/07/14 全球购物
澳大利亚领先的女帽及配饰公司:Morgan&Taylor
2019/12/01 全球购物
迪卡侬比利时官网:Decathlon比利时
2019/12/28 全球购物
C#面试常见问题
2013/02/25 面试题
线程同步的方法
2016/11/23 面试题
涉外经济法专业毕业生推荐信
2013/11/24 职场文书
二手书店创业计划书
2014/01/16 职场文书
人事专员岗位职责范本
2014/03/04 职场文书
公务员试用期满考核材料
2014/05/22 职场文书
如何写新闻稿
2015/07/18 职场文书
Django框架中表单的用法
2022/06/10 Python