MPDF 生成 http 404

MPDF generates http 404

我在我的开发机器上使用 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();
}

我在服务器上上传了代码并做了'composer update'。当我 运行 代码时,我收到 HTTP 404 响应。我在 mPDF 的对象创建之前放置了一个 'exit' 语句,并且 HTTP 404 消失了。

$mpdf = new \Mpdf\Mpdf(['debug' => true]);

这行似乎是问题所在。 apache2 错误日志和访问日志中均未写入任何内容。 controller中其他请求完美执行

服务器使用PHP 7.0。已加载所有扩展程序。

我检查了 class Mpdf 是否与 class_exists 一起存在。它输出 'true'.

我监督了什么?

在库 mPDF 中,抛出异常但未被捕获。它导致了 404 错误,而不是 HTTP 500。

库没有对临时文件夹的写入权限。

对于那些发生在这个主题上的人,我的问题是对这个样式表的引用(在我的本地机器上工作正常,但在从服务器调用时却不行):

<link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700,300italic,400italic,600italic">

这导致了以下输出: string(15) "HTTP 错误:404" 日志中没有错误(尽管从技术上讲它是一个文本字符串,而不是发送到浏览器的实际 HTTP 404)。

显然我有一些代码以特定方式调用 PDF 的创建,但无论如何:检查你在做什么,并关闭它直到它不再中断。