首页 > 解决方案 > Mpdf 未更新到最新版本

问题描述

我的问题

我正在尝试使用 MPDF 创建一个 pdf 文件,但是在我安装 mpdf 后,我收到以下错误,它使用了贬义的花括号。这是因为自 8.0.0 以来 php 不支持大括号而不是大括号来指定索引。

我试过的

修复已废弃的花括号后出现的错误如下:

Warning: A non-numeric value encountered in C:\xampp\htdocs\backend\Jaar2\Project_webshop\Library\vendor\mpdf\mpdf\mpdf.php on line 30572

Fatal error: Uncaught TypeError: count(): Argument #1 ($var) must be of type Countable|array, string given in C:\xampp\htdocs\backend\Jaar2\Project_webshop\Library\vendor\mpdf\mpdf\classes\ttfontsuni.php:613 Stack trace: #0 C:\xampp\htdocs\backend\Jaar2\Project_webshop\Library\vendor\mpdf\mpdf\classes\ttfontsuni.php(202): TTFontFile->extractInfo(false, true, 0) #1 C:\xampp\htdocs\backend\Jaar2\Project_webshop\Library\vendor\mpdf\mpdf\mpdf.php(3880): TTFontFile->getMetrics('C:/xampp/htdocs...', 'dejavuserifcond...', 0, false, true, 0) #2 C:\xampp\htdocs\backend\Jaar2\Project_webshop\Library\vendor\mpdf\mpdf\mpdf.php(4246): mPDF->AddFont('dejavuserifcond...', '') #3 C:\xampp\htdocs\backend\Jaar2\Project_webshop\Library\vendor\mpdf\mpdf\mpdf.php(13621): mPDF->SetFont('dejavuserifcond...') #4 C:\xampp\htdocs\backend\Jaar2\Project_webshop\Library\vendor\mpdf\mpdf\mpdf.php(1287): mPDF->SetDefaultFont('serif') #5 C:\xampp\htdocs\backend\Jaar2\Project_webshop\Library\pdf_genereren.php(8): mPDF->__construct() #6 {main} thrown in C:\xampp\htdocs\backend\Jaar2\Project_webshop\Library\vendor\mpdf\mpdf\classes\ttfontsuni.php on line 613
<?php
ob_clean();
ob_start();

$rapport = ob_get_clean();
require_once __DIR__ . '/vendor/autoload.php';
$mpdf = new mPDF();
$mpdf->showImageErrors = true;
$mpdf->WriteHTML("<h1>Hello world..</h1>");
$mpdf->Output();
?>

标签: phpmpdf

解决方案


更新:PHP 8 自 v8.0.10 起支持 mPDF,无需使用专用分支。


原来,因为 php8 在 mpdf 中尚不支持。我必须通过这样做来安装自定义版本的 mpdfcomposer require mpdf/mpdf dev-php8-support并解决了所有问题。


推荐阅读