php定时执行计划任务之直接在php中执行

[php] 2024-04-23 圈点857

摘要:使用php在浏览器中刷新执行需要解决几个问题,其实可以不用浏览器,可以直接执行php然后一直死循环下去也可以,效率更高。

使用php在浏览器中刷新执行需要解决几个问题

1.PHP脚本执行时间限制,默认的是30m 解决办法:set_time_limit();或者修改PHP.ini 设置max_execution_time时间(不推荐) 

2.如果客户端浏览器关闭,程序可能就被迫终止,解决办法:ignore_user_abort即使关闭页面依然正常执行 

3.如果程序一直执行很有可能会消耗大量的资源,解决办法使用sleep使用程序休眠一会,然后在执行

PHP定时执行的代码:


<?php   

    ignore_user_abort();//关掉浏览器,PHP脚本也可以继续执行.   

    set_time_limit(3000);// 通过set_time_limit(0)可以让程序无限制的执行下去   

     $interval=5;// 每隔5s运行   

    

     //方法1--死循环   

     do{   

        echo '测试'.time().'<br/>';    

        sleep($interval);// 等待5s       

    }while(true);   

    

    //方法2---sleep 定时执行   

     require_once './curlClass.php';//引入文件   

        

     $curl = new httpCurl();//实例化   

     $stime = $curl->getmicrotime();   

    for($i=0;$i<=10;$i++){   

            

        echo '测试'.time().'<br/>';    

        sleep($interval);// 等待5s   

            

    }   

    ob_flush();   

    flush();   

    $etime = $curl->getmicrotime();   

    echo '<hr>';   

    echo round(($etime-stime),4);//程序执行时间   


其实可以不用浏览器,可以直接执行php然后一直死循环下去也可以,效率更高。

计划任务  

感谢反馈,已提交成功,审核后即会显示