php - 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版本(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 中尚不支持。我必须通过这样做来安装自定义版本的 mpdfcomposer require mpdf/mpdf dev-php8-support
并解决了所有问题。
推荐阅读
- typescript - 从 onCreate 的 Firestore snap.data 检索数据但有未定义的错误
- c - C中嵌套结构的指针类型
- docker - 如何确保 Airflow 中的所有工作人员(容器)具有相同的环境?
- bash - 当 gofmt 建议更改时,让 gofmt 以退出状态 1 退出?
- vue.js - 如何将 D3 组件附加到另一个 vue 文件中的 div
- eclipse - 每次都有 java.lang.NullPointerException
- node.js - ng-selected 不起作用,但将选项修改为 selected="selected",使用 ng-repeat
- css - SCSS/CSS 不使用 webpack 加载
- shiny - 在任何情况下我都无法使用 mathjax
- javascript - react-select 错误:str.replace 不是函数错误