【发布时间】:2014-08-24 03:38:57
【问题描述】:
简单地说,当我将查询结果导出到 csv 时,它会像丝绸一样顺畅,直到查询结果达到大约 20k-25k 条记录。
当我达到那个标记时,我得到一个空白屏幕,并且创建的文件只有标题行,没有其他内容。我将查询拉回来一点,它运行良好,使用所有数据构建 csv 文件。
我尝试了各种记录、查询和表格,以确保它不是数据,所以我不知所措。我可以很好地查询并轻松分页超过 100 万条记录,但导出仍然失败。
$file_name = "new_file";
//Set field column names
$fields[] = 'Submit Date';
$fields[] = 'Submit Time';
$fields[] = 'Client STN';
$fields[] = 'Incident Type';
$fields[] = 'Level 1';
$fields[] = 'Level 2';
$fields[] = 'Level 3';
$fields[] = 'Employee ID';
//Create file
$fp = fopen('/var/www/html/data_exports/'.$file_name.'.csv', 'a');
if ($fp && $result)
{
fputcsv($fp, $fields);
foreach ($result->result_array() as $row)
{
$values = array();
$values[] = $row['submit_date'];
$values[] = date("H:i:s", $row['submit_time']);
$values[] = $row['stn'];
$values[] = $row['menu_text'];
$values[] = $row['lvl1_menu_item'];
$values[] = $row['lvl2_menu_item'];
$values[] = $row['lvl3_menu_item'];
$values[] = $row['employee_id'];
fputcsv($fp, $values);
}
}
redirect('admin/data_export_files');
【问题讨论】:
-
死机白页,报错\显示关闭,开启
error_reporting(E_ALL); ini_set('display_errors', 1); -
@Dagon 致命错误:在 /var/www/codeigniter/CodeIgniter_2.1.0/system/database/drivers/mysql/mysql_result.php 中允许的内存大小为 134217728 字节已用尽(尝试分配 32 字节)在第 152 行 .... 有趣但不知道这是什么意思
-
正如它所说的,你使用的内存比php多是允许的
-
ini_set("memory_limit","512M");成功了。感谢您的帮助!
-
我用啤酒付款 :-)