php 循环爬虫 or 持久执行任务 总断掉服务 解决,flush(),ob_flush()的组合使用

2021/10/14 22:14:16

本文主要是介绍php 循环爬虫 or 持久执行任务 总断掉服务 解决,flush(),ob_flush()的组合使用,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

<?php

namespace app\controller;

header('Content-type:text/html;charset=utf8');

use app\BaseController;
use think\App;
use think\facade\Db;

/**
 * 测试php不间断循环
 * Class organizational
 * @package app\controller
 */
class Fresh extends BaseController
{

   public function index()
   {
       if (ob_get_level() == 0) ob_start();
       set_time_limit(0);
       ini_set('memory_limit', '1G');
       ini_set('default_socket_timeout', -1);
       $waitadd = Db::connect('os')->table('bankdata_temp')->select();

       //为了方便测试,这里逐单条添加入表
       foreach ($waitadd as $k => $v) {
           flush(); //ob_flush()一定要组合使用 ,否则不起作用
           ob_flush();
           $recorddata = array();
           $recorddata['aaa'] = $v['aaa'];
           $recorddata['bbb'] = $v['bbb'];

           Db::connect('test')
               ->table('test_table')
               ->insertGetId($recorddata);
           echo ($k+1)."\r\n";  //必须要在循环中 打印哦 ,不然flush就不起作用了
           //当前apache通过浏览器访问
           if (strpos(strtolower($_SERVER['SERVER_SOFTWARE']), 'apache') !== false) {
               echo str_pad('',4096)."\n";
           }
           sleep(1); //停留一秒观看浏览器 弹出信息
       }
       ob_end_flush();
       exit('ok');
   }


}

  



这篇关于php 循环爬虫 or 持久执行任务 总断掉服务 解决,flush(),ob_flush()的组合使用的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程