详解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 相关文章推荐
一个oracle+PHP的查询的例子
Oct 09 PHP
定制404错误页面,并发信给管理员的程序
Oct 09 PHP
PHP 输出缓存详解
Jun 20 PHP
php下将XML转换为数组
Jan 01 PHP
解析php中heredoc的使用方法
Jun 17 PHP
Zend Framework教程之Zend_Controller_Plugin插件用法详解
Mar 07 PHP
详解ThinkPHP3.2.3验证码显示、刷新、校验
Dec 29 PHP
PHP 网站修改默认访问文件的nginx配置
May 27 PHP
Laravel 5使用Laravel Excel实现Excel/CSV文件导入导出的功能详解
Oct 11 PHP
THINKPHP3.2使用soap连接webservice的解决方法
Dec 13 PHP
PHP基于pdo的数据库操作类【可支持mysql、sqlserver及oracle】
May 21 PHP
Yii2处理密码加密及验证的方法
May 12 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读取html并截取字符串的简单代码
2009/11/30 PHP
PHP开发者常犯的10个MySQL错误更正剖析
2012/01/30 PHP
php-cli简介(不会Shell语言一样用Shell)
2013/06/03 PHP
mac环境中使用brew安装php5.5.15
2014/08/18 PHP
Smarty foreach控制循环次数的一些方法
2015/07/01 PHP
PHP响应post请求上传文件的方法
2015/12/17 PHP
PHP 生成微信红包代码简单
2016/03/25 PHP
Asp.net下利用Jquery Ajax实现用户注册检测(验证用户名是否存)
2010/09/12 Javascript
JavaScript判断访问的来源是手机还是电脑,用的哪种浏览器
2013/12/12 Javascript
jquery Validation表单验证使用详解
2020/09/12 Javascript
JavaScript基础语法之js表达式
2016/06/07 Javascript
原生js封装的一些jquery方法(详解)
2016/09/20 Javascript
详解支持Angular 2的表格控件
2017/01/19 Javascript
JS基于面向对象实现的多个倒计时器功能示例
2017/02/28 Javascript
纯JS单页面赛车游戏制作代码分享
2017/03/03 Javascript
webpack构建react多页面应用详解
2017/09/15 Javascript
vue安装和使用scss及sass与scss的区别详解
2018/10/15 Javascript
一秒学会微信小程序制作table表格
2019/02/14 Javascript
vue实现在进行增删改操作后刷新页面
2020/08/05 Javascript
python类和函数中使用静态变量的方法
2015/05/09 Python
Python实现简单的语音识别系统
2017/12/13 Python
一篇文章搞懂Python的类与对象名称空间
2018/12/10 Python
Python实现统计英文文章词频的方法分析
2019/01/28 Python
Python3转换html到pdf的不同解决方案
2019/03/11 Python
Python中list循环遍历删除数据的正确方法
2019/09/02 Python
在Python中利用pickle保存变量的实例
2019/12/30 Python
TENSORFLOW变量作用域(VARIABLE SCOPE)
2020/01/10 Python
解决TensorFlow程序无限制占用GPU的方法
2020/06/30 Python
python和go语言的区别是什么
2020/07/20 Python
python 6种方法实现单例模式
2020/12/15 Python
html5基础教程常用技巧整理
2013/08/20 HTML / CSS
TUMI马来西亚官方网站:国际领先的高品质商旅箱包品牌
2018/04/26 全球购物
大学毕业生通用自荐信范文
2013/10/31 职场文书
注册资产评估专业求职信
2014/07/16 职场文书
详细的本科生职业生涯规划范文
2014/09/16 职场文书
2015国庆66周年宣传语
2015/07/14 职场文书