我使用一个名为PDFmerger的库,很自然,它将pdfs合并在一起。我希望每天晚上都能运行一个cron,为第二天做好准备。问题是当我在第一个代码之后运行代码时,它会失败,因为它试图重新声明类。
for的声明..。
foreach ($pdfs_to_build as $pdf) {
// do stuff
$this->merge_pdfs($pdf['pdf_id']);
}我的pdf合并代码在循环中运行..。
$pdf = new PDFMerger;
$pdf->addPDF(DIR_BOOKS.$book_path.'/static-pages/page-1.pdf', '1');
$pdf->addPDF(DIR_FINAL_PDFS.$pdf_id.'/custom-page-1.pdf','1');
$pdf->addPDF(DIR_BOOKS.$book_path.'/static-pages/page-2.pdf', '1');
$pdf->merge('file', DIR_FINAL_PDFS.$pdf_id.'/final-build-'.$pdf_id.'.pdf');在第一个1完成后出现错误,我们已经进入下一个.
致命错误:无法在第24行/var/www/ PDFMerger /pdfMerger.php中重新声明类
我想知道有办法解决这个问题吗?
发布于 2015-03-10 13:25:57
问题不在于您要给new PDFMerger打两次电话,这是完全可以接受的。问题是文件:
/var/www/example/pdfmerger/PDFMerger.php是included(或以其他方式执行)两次,它在第24行中有:
class PDFMerger {这就是触发您的错误的原因,这个类已经声明了。找出为什么该文件被包含两次,您的错误将清除。
发布于 2015-03-10 13:29:15
你的密码没问题。不会失败的。但是,没有在您发布的内容中列出,您正在包括PDFMerger.php。可能是通过在循环中运行include 'PDFMerger.php';在https://pdfmerger.codeplex.com/中显示的。
只需将该行从循环中移出并/或将include更改为include_once即可。
https://stackoverflow.com/questions/28964884
复制相似问题