详解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 相关文章推荐
递归列出所有文件和目录
Oct 09 PHP
PHP4实际应用经验篇(8)
Oct 09 PHP
基于mysql的论坛(3)
Oct 09 PHP
MySQL GBK→UTF-8编码转换
May 24 PHP
php之对抗Web扫描器的脚本技巧
Oct 01 PHP
php 中英文语言转换类代码
Aug 11 PHP
php5.3 注意事项说明
Jul 01 PHP
浅析php插件 HTMLPurifier HTML解析器
Jul 01 PHP
ThinkPHP CURD方法之field方法详解
Jun 18 PHP
php连接oracle数据库的核心步骤
May 26 PHP
PHP 接入支付宝即时到账功能
Sep 18 PHP
使用PHPMailer发送邮件实例
Feb 15 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自动生成月历代码
2006/10/09 PHP
使用PHP socke 向指定页面提交数据
2008/07/23 PHP
PHP中对用户身份认证实现两种方法
2011/06/04 PHP
php学习笔记之 函数声明
2011/06/09 PHP
PHP中call_user_func_array()函数的用法演示
2012/02/05 PHP
PHP手机号码归属地查询代码(API接口/mysql)
2012/09/04 PHP
php求两个目录的相对路径示例(php获取相对路径)
2014/03/27 PHP
Yii核心组件AssetManager原理分析
2014/12/02 PHP
PHP中imagick函数的中文解释
2015/01/21 PHP
laravel-admin 实现在指定的相册下添加照片
2019/10/21 PHP
thinkphp5框架路由原理与用法详解
2020/02/11 PHP
JavaScript中Array 对象相关的几个方法
2006/12/22 Javascript
起点页面传值js,有空研究学习下
2010/01/25 Javascript
js获取上传文件大小示例代码
2014/04/10 Javascript
Web前端新人笔记之jquery入门心得(新手必看)
2016/05/17 Javascript
JQuery中attr属性和jQuery.data()学习笔记【必看】
2016/05/18 Javascript
最佳的JavaScript错误处理实践
2016/07/16 Javascript
原生JS实现九宫格抽奖效果
2017/04/01 Javascript
javascript计算对象长度的方法
2017/10/25 Javascript
Antd的Table组件嵌套Table以及选择框联动操作
2020/10/24 Javascript
[46:02]DOTA2上海特级锦标赛D组资格赛#2 Liquid VS VP第二局
2016/02/28 DOTA
Django1.9 加载通过ImageField上传的图片方法
2018/05/25 Python
Django代码性能优化与Pycharm Profile使用详解
2018/08/26 Python
详解用python自制微信机器人,定时发送天气预报
2019/03/25 Python
使用python制作一个为hex文件增加版本号的脚本实例
2019/06/12 Python
libreoffice python 操作word及excel文档的方法
2019/07/04 Python
Django实现分页显示效果
2019/10/31 Python
JACK & JONES瑞典官方网站:杰克琼斯欧式风格男装
2017/12/23 全球购物
师范毕业生个人求职信
2013/12/09 职场文书
二手书店创业计划书
2014/01/16 职场文书
新学期班主任寄语
2014/01/18 职场文书
先进事迹报告会感言
2014/01/24 职场文书
自查自纠整改报告
2014/11/06 职场文书
驾驶员安全责任协议书
2016/03/22 职场文书
浅谈Java父子类加载顺序
2021/08/04 Java/Android
Android开发手册Chip监听及ChipGroup监听
2022/06/10 Java/Android