问题描述
我在开发机上使用PHP 7.3。我已经使用composer安装了最新版本的MPDF。我在MVC框架(Phalcon 3.4)中有一个操作,其中创建了Mpdf对象。在开发机器上它可以工作。屏幕上显示了PDF。这是我的动作代码。
public function printAction()
{
$this->view->disable();
....
//var_dump(class_exists('\Mpdf\Mpdf',true)); --> output: true
//exit;
$mpdf = new \Mpdf\Mpdf(['debug' => true]);
$html = '...';
$mpdf->WriteHTML($html);
$mpdf->Output();
}
我将代码上传到服务器上,并进行了“作曲家更新”。运行代码时,我收到HTTP 404响应。我在创建mPDF的对象之前放了一个“退出”语句,HTTP 404消失了。
$mpdf = new \Mpdf\Mpdf(['debug' => true]);
这行似乎是问题所在。 apache2错误日志或访问日志中均未写入任何内容。控制器中的其他请求可以完美执行。
服务器使用PHP 7.0。所有扩展都已加载。
我检查了类Mpdf是否存在class_exists。输出为“ true”。
我监督了什么?
解决方法
在mPDF库中,引发了异常,但未捕获到异常。而不是HTTP 500,它导致404错误。
该库没有对temp文件夹的写权限。