我正在使用这个代码,它工作得很好,但是当pdf超过50时,它的显示请求超时错误
ini_set('memory_limit', '-1');
ini_set('max_execution_time', 3000); //300 seconds = 5 minutes
use PDFMerger\PDFMerger;
require_once $_SERVER["DOCUMENT_ROOT"].'/cms/PDFMerger.php';
$pdf = new PDFMerger;
foreach($pdft as $pdf_file) {
//echo $pdf_file;
$pdf->addPDF($pdf_file)
->merge('file', $name.'.pdf');
}发布于 2019-10-30 18:38:09
您应该将merge()调用移到循环之外!
当前,您在每次迭代中重新合并所有文件。因此,您的流程在第一次迭代中合并1个文件,在第二次迭代中合并2个文件,在第三次迭代中合并3个文件,在最后一个迭代中合并50个文件,而不是一次合并50个文档。
只需将其简化为单个merge()调用,您将节省大量的处理时间:
use PDFMerger\PDFMerger;
require_once $_SERVER["DOCUMENT_ROOT"].'/cms/PDFMerger.php';
$pdf = new PDFMerger;
foreach($pdft as $pdf_file) {
$pdf->addPDF($pdf_file);
}
$pdf->merge('file', $name.'.pdf');https://stackoverflow.com/questions/58618896
复制相似问题