生成和下载PDF文件时的内存管理

时间:2013-06-10 05:27:14

标签: php codeigniter memory-management dompdf

我有944行数据,我有一个链接可以下载PDF格式的所有数据。我正在使用DOM PDF生成PDF文件。

问题是,当我点击下载链接时,我收到以下错误消息

Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 86 bytes) in ......

因此,为了摆脱这个错误,我在生成PDF之前使用了以下代码:

ini_set('memory_limit', '-1');

但后来我收到以下错误消息:

Server Error The server for http://www.dorresms.com/student/export_studentcontact took too long to respond. It may be overloaded.

当我的数据较少时,我在下载文件时没有遇到任何问题。

我正在使用共享主机,我检查了php ini;我收到了以下信息:

资源限制:memory_limit(32MB)(脚本可能占用的最大内存量为256M)

你能告诉我如何解决这个问题吗?

更新

如果我将查询限制为280行,那么它会生成PDF,超过280行就会产生问题。

以下是我生成PDF的代码。 (我正在使用Codeigniter)

ini_set('memory_limit', '-1');

include_once('dompdf/dompdf_config.inc.php');

$account_id=$this->authex->get_account_id();

$this->load->model('mod_student');
$data['records'] = $this->mod_student->get_all_student($account_id);            

$html= $this->load->view('student/view_studentcontact_pdf',$data,true); 

$dompdf = new DOMPDF();
$dompdf->load_html($html);
$dompdf->set_paper("a4", "" );

$dompdf->render();
$dompdf->stream('Contact_List', array("Attachment" => 0));

0 个答案:

没有答案