【发布时间】:2022-05-18 19:34:33
【问题描述】:
我在我的开发机器上使用 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。已加载所有扩展。
我用 class_exists 检查了 Mpdf 类是否存在。它输出“真”。
我监督了什么?
【问题讨论】:
-
请分享更多细节。另外,解释一下这个问题与 Composer 本身有何关系
-
@NicoHaase 我用更多代码更新了我的问题。我不知道,因为这是我为这个项目使用 composer 安装的第一个库。
-
mPDF 永远不会自己发出 404 HTTP 代码。不过,还需要更多信息——它是服务器 404 吗?还是 Phalcon 404?你能在代码中进一步指出错误吗?
-
这是一个 apache 404。它记录在 access.log 中。它应该在类的构造函数中。
-
mPDF 本身永远不会导致 apache 404 HTTP 代码。在别处寻找它的原因。错误日志中没有任何内容?
标签: php composer-php mpdf