• 关于PHP定时执行任务的实现(转)


    PHP在这方面应该说是比较弱,如果只用php去实现可以如下:

    1. <?php
    2. ignore_user_abort();//关闭浏览器后,继续执行php代码
    3. set_time_limit(0);//程序执行时间无限制
    4. $sleep_time =1;//多长时间执行一次
    5. do{
    6. $fp = fopen('test.txt','a+');
    7. fwrite($fp,"这是一个php博客:phpddt.com ");
    8. fclose($fp);
    9. sleep($sleep_time);
    10. }while(true);
    11. ?>

    但是当我执行脚本的时候,即使我关闭了浏览器,我根本就没法去停止这段程序了,所以你需要一个执行脚本的开关,你可以用外部文件引入的方法来实现,在while循环的时候,include开关变量即可。那么就可以这样实现:

    建立外部引入变量文件 switch.php  内容如下:

    <?php

    return 1;//1执行脚本 0退出执行脚本

    ?>

    改良脚本如下:

    1. <?php
    2. ignore_user_abort();//关闭浏览器后,继续执行php代码
    3. set_time_limit(0);//程序执行时间无限制
    4. $sleep_time =5;//多长时间执行一次
    5. $switch = include 'switch.php';
    6. while($switch){
    7. $switch = include 'switch.php';
    8. $fp = fopen('test.txt','a+');
    9. fwrite($fp,"这是一个php博客:phpddt.com $switch ");
    10. fclose($fp);
    11. sleep($sleep_time);
    12. }
    13. exit();
    14. ?>


    这个脚本只是测试可行,具体效率应该不高,对于lamp,你完全可以使用crontab 来实现

  • 相关阅读:
    上传高德地图-express框架
    express不是内部命令
    elasticSearch 安装
    elasticSearch 分布式安装
    mongoDB基本操作
    [是题解哦] 洛谷 P1865 A % B Problem
    [是题解哦] 洛谷 P1531 I Hate It
    [是题解哦] 洛谷 P1195 口袋的天空
    [是题解哦] 洛谷 P1536 村村通
    [是模板哦] 快速读入
  • 原文地址:https://www.cnblogs.com/xingmeng/p/3248444.html
Copyright © 2020-2023  润新知