2015-01-15 3 views
0

Я пытаюсь экспортировать PDF с помощью IO TCPDF (я использую Symfony 2), но когда объем данных Стараюсь экспорта составляет более 650 строк, я получаю сообщение об ошибке:Максимальный предел генерации IO_TCPDF

"Fatal error: Maximum execution time of 30 seconds exceeded in /var/www/html/AiresProxyAudit/vendor/tcpdf/tcpdf.php on line 23099" 

Я изменяю значения этих переменных memory_limit и max_execution_time, чтобы увеличить объем данных, которые я могу экспортировать, но каждый раз, когда это происходит одинаково. Что я делаю не так? это мой код. спасибо, и надеюсь, вы, ребята, можете мне помочь в этом.

public function export_urlAction ($ name) { $ usuario = $ this-> get ('security.context') -> getToken() -> getUserName();

$dm = $this->get('doctrine.odm.mongodb.document_manager') 
      ->getRepository('ReportesBundle:RporURL') 
      ->url($this->get_id($usuario,$name)); 

    $totalurls = $this->get('doctrine.odm.mongodb.document_manager') 
      ->getRepository('ReportesBundle:RTotales') 
      ->total($this->get_id($usuario,$name), "url"); 

    $reportes = array(); 
    $totales = array(); 

    foreach ($dm as $value) { 


     $reportes[] = $value; 
    } 

    foreach ($totalurls as $value) { 
     $totales[] = $value; 
    } 

    $html = $this->renderView('ReportesBundle:PDF:pdfurl.pdf.twig', array('reporte' => $reportes, 'totales' => $totales)); 

    //io_tcpdf will returns Response object 
    return $this->get('io_tcpdf')->quick_pdf($html); 
} 

ответ

0

Я нашел решение для этого, я разделил поколения в формате PDF на 3 шаблоны прута: $ arrayHtmll = массив(); $ html = $ this-> renderView ('ReportesBundle: PDF: pdfurl.pdf.twig', array ('reporte' => $ totalRUrl [0], 'totales' => $ totales));
$ arrayHtmll [] = $ html; for ($ index = 1; $ index < count ($ totalRUrl) -1; $ index ++) { $ html = $ this-> renderView ('ReportesBundle: PDF: pdfurlmedio.pdf.twig', array ('reporte' => $ totalRUrl [$ index], 'totales' => $ totales)); // agregue el twig del medio $ arrayHtmll [] = $ html; } $ html = $ this-> renderView ('ReportesBundle: PDF: pdfurlfinal.pdf.twig', array ('reporte' => $ totalRUrl [count ($ totalRUrl) -1], 'totales' => $ totales));
$ arrayHtmll [] = $ html;

foreach ($ arrayHtmll as $ value) { $ fff-> writeHTML ($ value, false, false, true, false, '');

Я исследую его с помощью базы данных mongo с 26020 документами, и у меня нет проблем с ее созданием. Я изменил значение переменной memory_limit файла php на 256.

Смежные вопросы