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を生成するための私のコードです。(私はコードイグナイターを使用しています)
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));