详解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&amp;mysql(二)
Oct 09 PHP
php empty函数 使用说明
Aug 10 PHP
PHP zlib扩展实现页面GZIP压缩输出
Jun 17 PHP
解析获取优酷视频真实下载地址的PHP源代码
Jun 26 PHP
浅析php fwrite写入txt文件的时候用 \r\n不能换行的问题
Aug 06 PHP
php使用curl访问https示例分享
Jan 17 PHP
3种方法轻松处理php开发中emoji表情的问题
Jul 18 PHP
laravel框架关于搜索功能的实现
Mar 15 PHP
PHP框架Laravel中使用UUID实现数据分表操作示例
May 30 PHP
Yii2.0框架behaviors方法使用实例分析
Sep 30 PHP
PHPExcel实现的读取多工作表操作示例
Apr 14 PHP
PHP7生产环境队列Beanstalkd用法详解
May 19 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
解析VS2010利用VS.PHP插件调试PHP的方法
2013/07/19 PHP
PHP生成Gif图片验证码
2013/10/27 PHP
PHP限制页面只能在微信自带浏览器访问的代码
2014/01/15 PHP
php中常量DIRECTORY_SEPARATOR用法深入分析
2014/11/14 PHP
laravel 实现上传图片到本地和前台访问示例
2019/10/21 PHP
js获取提交的字符串的字节数
2009/02/09 Javascript
innerHTML 和 getElementsByName 在IE下面的bug 的解决
2010/04/09 Javascript
javascript中Math.random()使用详解
2015/04/15 Javascript
纯JavaScript 实现flappy bird小游戏实例代码
2016/09/27 Javascript
基于canvas的二维码邀请函生成插件
2017/02/14 Javascript
给vue项目添加ESLint的详细步骤
2017/09/29 Javascript
解决vue router组件状态刷新消失的问题
2018/08/01 Javascript
node全局变量__dirname与__filename的区别
2019/01/14 Javascript
JavaScript数据结构与算法之二叉树遍历算法详解【先序、中序、后序】
2019/02/21 Javascript
js实现web调用摄像头 js截取视频画面
2019/04/21 Javascript
vue+element 模态框表格形式的可编辑表单实现
2019/06/07 Javascript
解决layer.open弹出框不能获取input框的值为空的问题
2019/09/10 Javascript
vue实现移动端H5数字键盘组件使用详解
2020/08/25 Javascript
Python自动化测试ConfigParser模块读写配置文件
2016/08/15 Python
详解Python中的相对导入和绝对导入
2017/01/06 Python
django 常用orm操作详解
2017/09/13 Python
Python进阶之递归函数的用法及其示例
2018/01/31 Python
PyCharm在新窗口打开项目的方法
2019/01/17 Python
实例讲解Python中整数的最大值输出
2019/03/17 Python
Django实现从数据库中获取到的数据转换为dict
2020/03/27 Python
Spark处理数据排序问题如何避免OOM
2020/05/21 Python
Opencv 图片的OCR识别的实战示例
2021/03/02 Python
香港时装购物网站:ZALORA香港
2017/04/23 全球购物
趣天网日本站:Qoo10 JP
2019/09/18 全球购物
.net面试题
2015/12/22 面试题
鞋类设计与工艺专业销售求职信
2013/11/01 职场文书
社会实践感言
2014/01/25 职场文书
小区文明倡议书
2014/05/16 职场文书
国际经济与贸易专业求职信
2014/07/10 职场文书
2014年药店工作总结
2014/11/20 职场文书
先进基层党组织事迹材料
2014/12/25 职场文书