Php 如果没有输出,mPDF连接超时

Php 如果没有输出,mPDF连接超时,php,timeout,mpdf,Php,Timeout,Mpdf,我一直在一个网站上工作,在后台处理数据需要一段时间(使用mpdf生成多个pdf页面) 如果我输出循环数,它会继续运行例如,每次使用ob_get_clean等等 但是,如果我等待代码生成文件,而不使用ob_get_clean,则不会出现输出,也不会完成进程 我是这样做的: 将循环中的所有html保存在数组$newhtml中,然后: foreach($newhtml as $htmlkey => $htmlvalue){ if('0'==$htmlkey){ echo '<

我一直在一个网站上工作,在后台处理数据需要一段时间(使用mpdf生成多个pdf页面)

如果我输出循环数,它会继续运行例如,每次使用ob_get_clean等等

但是,如果我等待代码生成文件,而不使用ob_get_clean,则不会出现输出,也不会完成进程

我是这样做的:

将循环中的所有html保存在数组
$newhtml
中,然后:

foreach($newhtml as $htmlkey => $htmlvalue){

  if('0'==$htmlkey){
    echo '<p><b>Total Invoices: </b>' . count($newhtml) . '</p>
    <p><b>Generating:</b></p>';
  }
  echo $htmlkey. ', ';

  while(ob_get_level())ob_end_clean();// remove output buffers
  ob_implicit_flush(true); 
  set_time_limit(100);

    $mpdf->WriteHTML($htmlvalue); 
    $mpdf->AddPage('','','','','',1,1,1,1,0,0); 
}

$mpdf->Output($filename,'F');
foreach($htmlkey=>newhtml作为$htmlvalue){
如果('0'=$htmlkey){
回显'发票总额:'.count($newhtml)。'

正在生成:

'; } echo$htmlkey; while(ob_get_level())ob_end_clean();//删除输出缓冲区 ob_隐式_刷新(真); 设置时间限制(100); $mpdf->WriteHTML($htmlvalue); $mpdf->AddPage(“”,“”,“”,“”,1,1,1,0,0); } $mpdf->Output($filename,'F');
在$mpdf->WriteHTML中花费的时间最多(通过注释掉它来测试,然后在下一个测试中保留它并注释掉其他的)

想知道原因以及如何在不输出任何信息的情况下解决它

任何暗示都将不胜感激


谢谢。

如果没有错误,那么您的代码应该很好,除非一次迭代需要超过100秒。您确定错误输出已启用,并且没有出现缓冲区溢出或内存限制错误吗?不,如果ob_end_clean被注释,它将在30秒后停止。如果没有错误,则您的代码应该是正确的,除非单个迭代需要超过100秒。您确定错误输出已启用,并且没有出现缓冲区溢出或内存限制错误吗?不,如果ob_end_clean被注释,它将在30秒内停止