Mpdf 没有更新到最新版本
Mpdf not updating to latest version
我的问题
我正在尝试使用 MPDF 创建一个 pdf 文件,但在我安装 mpdf 之后,我收到以下错误,它使用了 depricated 大括号。这是因为php从8.0.0.
开始不支持用大括号代替大括号来指定索引
我试过的
- 将大括号更改为方括号,但这完全破坏了库
修复 depricated 花括号后出现的错误如下:
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 版本 (8.0.1)
<?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();
?>
更新:PHP 8 自 v8.0.10 起支持 mPDF,无需使用专用分支。
结果是,因为 php8 在 mpdf 中尚不支持。我必须通过 composer require mpdf/mpdf dev-php8-support
安装自定义版本的 mpdf 并解决了所有问题。
我的问题
我正在尝试使用 MPDF 创建一个 pdf 文件,但在我安装 mpdf 之后,我收到以下错误,它使用了 depricated 大括号。这是因为php从8.0.0.
开始不支持用大括号代替大括号来指定索引我试过的
- 将大括号更改为方括号,但这完全破坏了库
修复 depricated 花括号后出现的错误如下:
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 版本 (8.0.1)
<?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();
?>
更新:PHP 8 自 v8.0.10 起支持 mPDF,无需使用专用分支。
结果是,因为 php8 在 mpdf 中尚不支持。我必须通过 composer require mpdf/mpdf dev-php8-support
安装自定义版本的 mpdf 并解决了所有问题。