0

我正在尝试按照read me将NelmioSolariumBundle与我的 Symfony 2 应用程序一起安装,但是在我收到以下错误中注册捆绑包后:AppKernal.php

ErrorException: Catchable Fatal Error: Argument 1 passed to Nelmio\SolariumBundle\Logger::setLogger() must be an instance of Psr\Log\LoggerInterface, instance of Symfony\Bridge\Monolog\Logger given, called in /var/www/vhosts/symfony.example.com/app/cache/dev/appDevDebugProjectContainer.php on line 2096 and defined in /var/www/vhosts/symfony.example.com/vendor/nelmio/solarium-bundle/Nelmio/SolariumBundle/Logger.php line 44

经过一番挖掘,我发现这篇文章指出:

Monolog 最近实施了 PSR-3。因此,已知要实现 PSR-3 文档中的 Psr\Log\LoggerInterface 及其相关指南。

所以现在我正在尝试更新我的 MonoLog 版本并在作曲家中收到以下错误,并且不确定从这里去哪里:

您的要求无法解决为一组可安装的软件包。

Problem 1
- Installation request for symfony/monolog-bundle 2.2.* -> satisfiable by symfony/monolog-bundle v2.2.0.
- Conclusion: remove symfony/symfony v2.1.9
- symfony/monolog-bundle v2.2.0 requires symfony/monolog-bridge >=2.2-beta2,<3.0 -> satisfiable by symfony/symfony v2.2.0, symfony/symfony v2.2.1, symfony/monolog-bridge v2.2.0, symfony/monolog-bridge v2.2.1.
- Can only install one of: symfony/symfony v2.2.0, symfony/symfony v2.1.9.
- Can only install one of: symfony/symfony v2.2.1, symfony/symfony v2.1.9.
- don't install symfony/monolog-bridge v2.2.0|don't install symfony/symfony v2.1.9
- don't install symfony/monolog-bridge v2.2.1|don't install symfony/symfony v2.1.9
- Installation request for symfony/symfony == 2.1.9.0 -> satisfiable by symfony/symfony v2.1.9.

我需要完全更新我的 Symfony 2 版本才能让它工作吗?

4

1 回答 1

3

不幸的是,由于新的界面等原因,这两种情况都无法正常工作。所以使用 Monolog 1.4+ 需要 Symfony 2.2+ 和 MonologBu​​ndle 2.2+。

也就是说,它需要 PSR LoggerInterface 似乎是捆绑包中的一个错误,因为 Symfony 的旧接口也是兼容的。我刚刚推送了捆绑包的 v2.0.1,如果您想更新并查看它是否有效(您可以回滚对独白要求的更改)。

于 2013-04-07T10:24:01.637 回答