尝试使用 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/log为2.x- 只需"psr/log": "^2.0"在composer.json 文件中输入/更改行并运行composer update。这应该可以解决问题。
如果您的任何库强制执行psr/log 3.x(不允许较低的主要版本),则composer update调用将失败,您将必须降级或替换这些库,或者不使用 mPDF。