• php定时执行PHP脚本一些方法总结


    本文章总结了php定时执行PHP脚本一些方法总结,有,linux中,windows,php本身的方法,有需要的朋友可参考参考。

    linux下定时执行php脚本


    执行PHP脚本

    方法1
    如果你想定时执行某一个PHP脚本 可以直接这样写:
    */1 * * * * root -q /bin/local/php /path/to/your/php/script.php (每一分钟执行一次script.php)
    注意,这样写需要把PHP变成可执行的脚本文件。在命令行下,脚本所在目录
    chmod +x script.php

    crontab+php-cgi 定时执行PHP脚本

    1. 在web根目录创建请求的脚本index.php

        我的文件路径(根据安装路径不同有不同路径):/usr/local/webserver/htdosc/index.php

    2. 创建crontab文件

         2.1   crontab -e

         2.2  * * * * * /usr/local/webserver/php/bin/php-cgi -q /usr/local/webserver/htdosc/index.php

          #编辑crond计划,每分钟请求index.php

    完成,以上步骤完成后,在我的电脑中能正常每分钟请求index.php


    注意事项:

     一. /usr/local/webserver/php/  是我的php安装路径

    二. php-cgi 是php解析器(我的理解是这样,总感觉我理解的不对,希望大虾们指正),有些资料是用./bin/php,我电脑上就不能,所以用php-cgi,可能安装的方式不对吧。

    三. -q 是安静模式(某些资料中看到的)运行php脚本

    四. 有些资料是 把在index.php的首行添加#!  /usr/local/webserver/php/bin/php -q ,并对index.php添加执行权限。我没有这样做,也能正常请求index.php


    最后介绍一个PHP定时执行任务的实现

    用到的函数  ignore_user_abort(),set_time_limit(0),sleep($interval) 
    此代码只要运行一次后关闭浏览器即可。

    ignore_user_abort();//关掉浏览器,PHP脚本也可以继续执行.
    set_time_limit(0);// 通过set_time_limit(0)可以让程序无限制的执行下去
    $interval=60*30;// 每隔半小时运行
    do{
     //这里是你要执行的代码 
     sleep($interval);// 等待5分钟
    }while(true);
    
  • 相关阅读:
    OPENSSL库使用--AES篇
    Linux inotify功能及实现原理
    LSI RAID
    Linux下关于热插拔硬盘的指令
    最长回文字串理解(学习Manacher's algorithm)
    pat 1068 动态规划/Fina More Conis
    (二)Myeclipse中关于jdk配置,解决版本不一致问题
    (一)MyEclipse配置Tomcat,与jsp程序运行
    pat 1047 解题心得
    pat 1038 Smallest Number解题心得
  • 原文地址:https://www.cnblogs.com/mayi168/p/3488487.html
Copyright © 2020-2023  润新知