我有一个PDF生成器脚本(使用html2pdf lib)的问题。 该脚本在手动启动时完美运行,但在作为cron任务启动时返回此错误。由cron发起的PDF生成器的TCPDF错误
TCPDF错误:无法创建输出文件:/0000/images/upload/demonstration/factures/2016-05-demonstration.pdf
这里是参与创建脚本的一部分。
require('html2pdf/html2pdf.class.php');
try
{
$pdf = new HTML2PDF('P','A4','fr');
$pdf->writeHTML($content);
ob_end_clean();
$pdf->Output(''.$_SERVER['DOCUMENT_ROOT'] . '/0000/images/upload/'.$data["id_client"].'/factures/'.$fichier.'.pdf', 'F');
}
catch(HTML2PDF_exception $e) {
die($e);
}
我尝试了许多其他线程建议的解决方案,但目前为止没有任何工作。文件和目录有权限777,我使用正确的绝对路径(它手动起作用的事实证明了它)。
有什么想法?
感谢您的解释! 所以,我尝试了不同的选择: 相对路径:$ pdf->输出('../ images/upload /'.$ data [“id_client”]。'/ factsures /'。fichier。'。pdf','F'); 手动工作正常,但似乎没有在克朗工作。 –
Absolte path(hard code):$ pdf-> Output('http://'.$data [“domaine”]。'/ images/upload /'.$ data [“id_client”]。'/ factsures /' 。$ fichier。'。pdf','F'); 警告:fopen(http://www.domain.fr/images/upload/demonstration/factures/2016-05-demonstration.pdf):无法打开流:HTTP包装不支持/ home/yatacrea中的可写连接/www/0000/scripts/html2pdf/_tcpdf_5.0.002/tcpdf.php on line 6168 TCPDF错误:无法创建输出文件:http://www.domain.fr/images/upload/demonstration/factures/2016-05 -demonstration.pdf –
你尝试过的东西都不起作用。 Apache下的工作目录与cron不同,所以相对路径不起作用。在你的下一个尝试中,你正在尝试写入一个http流,这也是行不通的。让我用更精确的信息更新我的答案。 –