【发布时间】:2011-04-04 06:39:41
【问题描述】:
我想将我的结果集(大约 26000 条记录)导出到 csv 中。
超过 10000 范围时它不起作用。
即使我在 php.ini 中将 max_execution_time 更改为 60。
我的代码如下所示:
header("Content-type: application/vnd.ms-excel");
header("Content-disposition: csv" . date("Y-m-d") . ".csv");
header( "Content-disposition: filename=".$filename.".csv");
print "$header\n$output";
谁能告诉我哪里出错了?
【问题讨论】:
-
可能是它的内存限制,查看错误日志,尝试设置ini看看是否是ini_set('memory_limit','1024M');的问题set_time_limit(0);
-
它的工作时间可能超过 60 秒?你能出示你的出口代码吗?
-
@Haim Evgi:1024M 不是一个解决方案,它会在每个请求上消耗 1Gb 内存......解决方案是使用范围限制查询数据库......
-
我同意你的观点,我的意思是它只是检查这是否是问题
-
文件大吗?您是否尝试过分块文件? stackoverflow.com/questions/5595485/php-file-download