Mpdf\Mpdf LoggerAwareInterface 与 php 8.1.12 中的 Psr\Log 不兼容

for*_*edw 4 php mpdf

尝试使用 mpdf 时出现以下错误:

Declaration of Mpdf\Mpdf::setLogger(Psr\Log\LoggerInterface $logger) 
must be compatible with Psr\Log\LoggerAwareInterface::setLogger(Psr\Log\LoggerInterface $logger): void 
Run Code Online (Sandbox Code Playgroud)

我能找到的关于该主题的最多信息是这个,但我找不到如何解决它。

有人提到使用分支php8-support,但我尝试了这个,但它也不起作用。

有人找到解决这个问题的方法吗?

我在 php 上8.1.12并使用"mpdf/mpdf": "v8.0.13"

Fin*_*nwe 11

更新 2023/05/03:将 mPDF 更新到版本 8.1.6,该版本psr/log 3.x受支持,并且不应出现此消息。


mPDF 的版本和分支与此无关。

mPDF 不兼容,psr/log 3.x因为支持较旧的 PHP 版本(没有返回类型提示)。

您的一个或多个依赖项或您自己正在强制psr/log库版本为3.x. composer why psr/log您可以通过在控制台中调用来查找。

将库降级psr/log2.x- 只需"psr/log": "^2.0"在composer.json 文件中输入/更改行并运行composer update。这应该可以解决问题。

如果您的任何库强制执行psr/log 3.x(不允许较低的主要版本),则composer update调用将失败,您将必须降级或替换这些库,或者不使用 mPDF。