代码如下:

<?php
    ignore_user_abort(); //关掉浏览器,PHP脚本也可以继续执行.
    set_time_limit(0); // 通过set_time_limit(0)可以让程序无限制的执行下去
    $interval = 43200; // 每隔*秒运行,这里是12小时执行一次
    $is_send = true;//是否开启true为开启,false为关闭
    do {
        //需要循环定时执行的PHP代码,我这里是进行查询7天前到10天前的已经发货的订单,将这些订单改为已收货状态。我这是基于CI框架做的。
        $starttime = strtotime("-7 day");
        $endtime = strtotime("-10 day");
        $data = $this->harvest->harvest_list($starttime,$endtime);
        if(!empty($data)){
            foreach($data as $val){
                $this->harvest->harvest_update($val['order_code']);
                $this->harvest->harvestorder_update($val['order_code']);
            }
        }
        sleep($interval); // 等待*秒钟,一定要加上这句话,不然就是死循环,服务器会宕机的。
    } while ($is_send);

对于上诉的关闭浏览器继续无限制的执行,我因为时间太短,还没测试效果,不过,还有一个解决办法。可以去360监控,监控宝等网站上申请一个账号,然后填上该脚本的地址,这样就可以每隔多久访问并执行这个脚本了,实现全自动化。