详解PHP实现执行定时任务

 更新时间:2015年12月21日 10:28:20   投稿:lijiao  
这篇文章主要介绍了PHP实现执行定时任务的具体实现代码,需要的朋友可以参考下

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简单实现数组分页的方法

    这篇文章主要介绍了php简单实现数组分页的方法,涉及php数组操作及数学运算相关技巧,需要的朋友可以参考下
    2016-04-04
  • php中通过DirectoryIterator删除整个目录的方法

    php中通过DirectoryIterator删除整个目录的方法

    这篇文章主要介绍了php中通过DirectoryIterator删除整个目录的方法,实例分析了php通过DirectoryIterator类操作目录的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03
  • PHP实现的简单sha1加密功能示例

    PHP实现的简单sha1加密功能示例

    这篇文章主要介绍了PHP实现的简单sha1加密功能,结合具体实例形式分析了php sha1加密功能的具体实现方法与使用技巧,需要的朋友可以参考下
    2017-08-08
  • php7和php5具体区别实例讲解

    php7和php5具体区别实例讲解

    这篇文章主要介绍了php7和php5具体区别实例讲解,代码对比的很清楚,对此不太清楚的同学可以多研究下
    2021-01-01
  • php自定义分页类完整实例

    php自定义分页类完整实例

    这篇文章主要介绍了php自定义分页类,以完整实例形式分析了php实现分页功能的原理与具体实现技巧,代码中有详细的注释便于理解,需要的朋友可以参考下
    2015-12-12
  • PHP使用互斥锁确保代码的线程安全的操作示例

    PHP使用互斥锁确保代码的线程安全的操作示例

    在多线程和高并发的环境下,我们经常会遇到需要确保代码段互斥执行的场景,比如,在电商平台中,当多个用户同时购买同一件商品时,如何确保库存的扣减是线程安全的,今天,我们将一起探讨这个问题,并介绍一个名为 wise-locksmith 的 PHP 互斥锁库
    2024-11-11
  • PHP如何实现订单的延时处理详解

    PHP如何实现订单的延时处理详解

    这篇文章主要给大家介绍了关于利用PHP如何实现订单的延时处理的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2017-12-12
  • 深入php list()函数的详解

    深入php list()函数的详解

    本篇文章是对php中的list()函数进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • php中使用in_array() foreach array_search() 查找数组是否包含时的性能对比

    php中使用in_array() foreach array_search() 查找数组是否包含时的性能对比

    这篇文章主要介绍了php中使用in_array() foreach array_search() 查找数组是否包含时的性能对比,需要的朋友可以参考下
    2015-04-04
  • PHP简单获取随机数的常用方法小结

    PHP简单获取随机数的常用方法小结

    这篇文章主要介绍了PHP简单获取随机数的常用方法,结合实例形式分析了php实现指定范围随机数与指定字符序列随机数的简单实现技巧,需要的朋友可以参考下
    2017-06-06

最新评论