我正在尝试在我的Symfony 2应用程序中安装NelmioSolariumBundle,方法是遵循读给我听,但是在在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\Log\LoggerInterface以及PSR-3文档中的相关指南。
因此,现在我正在尝试更新我的MonoLog版本,并在composer中接收到以下错误,并且不确定从哪里开始:
无法将您的要求解析为可安装的软件包集。
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版本才能让它正常工作吗?
发布于 2013-04-07 10:24:01
不幸的是,由于新的界面等原因,无法在这两种情况下保持工作。因此,Symfony 2.2+和MonologBundle 2.2+必须使用Monolog 1.4+。
尽管如此,它似乎是包中的一个bug,它需要PSR LoggerInterface,因为旧的Symfony接口也是兼容的。我刚刚推出了包的v2.0.1,如果您想要更新并查看它是否有效(您可以回滚对monolog的需求的更改)。
https://stackoverflow.com/questions/15861118
复制相似问题