
正文
php循环大量数据 php循环读取数据库表数据
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
php处理大量数据时,运行到一定时间就中断了,请问如何解决
你是cli模式还是cgi模式?cli模式不用设默认就是无时间限制,cgi默认是有30秒超时限制。
你可以先看看每次中断是固定时长,还是固定次数;也可以多打日志,每次循环都输出些参考参数如循环条件、内存使用等信息,再分析哪些可能导致程序中断的原因。
相关问答
Q1: php foreach循环大的数据量,在其执行1个多小时后就中断了?有可能是什么原因?
一般就两种情况:
1. 超出脚本内存限制
2. 超出脚本执行时间限制
试下下面这样:
set_time_limit(0);
ini_set('memory_limit', '1000M');//自己根据实际调整
Q2: 如何解决PHP里大量数据循环时内存耗尽的问题
?php
mysql_connect("localhost", "mysql_user", "mysql_password") or
die("Could not connect: " . mysql_error());//连接你的数据库
mysql_select_db("mydb");//选择你的数据库
$result = mysql_query("SELECT `name` FROM data_boy WHERE `id`='2' LIMIT 0, 60");//执行SQL查询语句,搜索出60条数据
while ($row = mysql_fetch_array($result)) {
echo "姓名:".$row[name]."br";
/*补充一句,此处也可以是:
echo "姓名:".$row[0]."br";此处"mysql_fetch_array"默认返回的既有 关联数组(字段作为键名),也有数字索引数组*/
}
mysql_free_result($result);//释放结果
Q3: PHP 怎么循环一组数字(1万条数据)插入数据库?
1W条数据量也不是特别大,那就直接读取,然后在foreach入库就可以了
如果数据量非常大的时候,那就分段读取,然后入库~
考虑到php超时,那就网页端打开,第一部分执行完,刷新页面,开始执行第二部分,依次进行...
当然,直接在命令行下执行也可以~
Q4: 求 php 循环执行大量数据 解决办法。
你用网页的方式,让人点击,服务器采集,简直是弱爆了。每个人的点击循环1000次,来个100人同时点,你要用的是普通的虚拟机就不行了。
最好是换种方式实现,不要通过网页进行采集。
可以非常简单的在数据库的表,创建一个采集队列,后台执行一个crontab的计划任务,去完成队列里的采集任务。
php循环大量数据的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于php循环读取数据库表数据、php循环大量数据的信息别忘了在本站进行查找喔。








