php数据采集中断 php采集器

php处理大量数据时,运行到一定时间就中断了,请问如何解决

php处理数据时会有一个等待时间,就是所说的超时时间,而且如果使用mysql的话,它也有一个超时时间,运行一串代码时间如果超过配置文件的时间,会被中断不运行。第一种你可以修改php配置文件timeout的运行时间,第二你可以分批处理大量数据,注意是分批处理,就OK了。

创新互联主营肃南裕固族自治网站建设的网络公司,主营网站建设方案,成都App制作,肃南裕固族自治h5成都微信小程序搭建,肃南裕固族自治网站营销推广欢迎肃南裕固族自治等地区企业咨询

php curl 大量数据采集

这个需要配合js,打开一个html页面,首先js用ajax请求页面,返回第一个页面信息确定处理完毕(ajax有强制同步功能),ajax再访问第二个页面。(或者根据服务器状况,你可以同时提交几个URL,跑几个相同的页面)

参数可以由js产生并传递url,php后台页面根据URL抓页面。然后ajax通过php,在数据库或者是哪里设一个标量,标明检测到哪里。由于前台的html页面执行多少时候都没问题,这样php的内存限制和执行时间限制就解决了。

因为不会浪费大量的资源用一个页面来跑一个瞬间500次的for循环了。(你的500次for循环死了原因可能是获取的数据太多,大过了php限制的内存)

不过印象中curl好像也有强制同步的选项,就是等待一个抓取后再执行下一步。但是这个500次都是用一个页面线程处理,也就是说肯定会远远大于30秒的默认执行时间。

php curl采集放到服务器有时可以采到有时采不到

在curl_close($curl);前面加上$error = curl_error($curl);

然后打印看看有没有报错信息。

另外可以在当前文件最前面加入

ini_set('display_errors','on');

error_reporting(E_ALL);

看看运行有没有什么错误提示。

用php获取sqlserver的表数据,读取一部分就停止读取了

大概是  odbc_exec 的兼容性问题  , 我使用 mysqli 局没有这个现象   以前用adodb  也处理过 30万以上的记录..

?php

require_once('php/json/mysqli_dbset.php');

/* $valstr="";

for ( $i=1;$i120000;$i++){

$valstr.="(0,'name".$i."'),";

}

$valstr.="(0,'name120000')";

$sql_str="insert into tttt values $valstr";

$rs=$mysqli-query($sql_str);

echo  "insert ok"; */

$sql_str="select * from tttt";

$rs=$mysqli-query($sql_str);

while($row = $rs-fetch_array(MYSQL_ASSOC)){

echo  $row['iname'].'/br';

}

?


文章名称:php数据采集中断 php采集器
转载注明:http://myzitong.com/article/ddihejj.html