当我尝试安装FOSUserBundle时,我收到以下错误:
Fatal error: Call to undefined method Symfony\Bundle\DoctrineBundle\Registry::getManager() in W:\symproject\app\cache\dev\appDevDebugProjectContainer.php on line 1039
它能是什么?
我还尝试将FOSUserBundle安装到纯粹的Symfony Standart Edition并遇到了同样的问题。
答案 0 :(得分:9)
您可能已经安装了用于Symfony2.1.x的最新FOSUserBundle 如果您使用的是Symfony2.0.x,请更改您的deps文件:
[FOSUserBundle]
git=git://github.com/FriendsOfSymfony/FOSUserBundle.git
target=bundles/FOS/UserBundle
version=1.2.0
然后重新安装供应商:
php bin/vendors install
答案 1 :(得分:1)
我一直在使用FOS用户软件包很长一段时间,本周末我的自动构建停止了你在这里写的错误。所以对我来说,我找到了解决方案:)
似乎最新版本的FOS User Bundle有一个错误,所以我将其添加到deps.lock
文件中:
FOSUserBundle f487dc16cec6003c46542a90d5193761fd91360a
在deps文件中我有:
[FOSUserBundle]
git=http://github.com/FriendsOfSymfony/FOSUserBundle.git
target=bundles/FOS/UserBundle
瞧!它现在有效!
(提交f487d ...刚刚从4天前的提交中选择 - 当我知道它正在工作时)
这应该可以解决您的问题!
答案 2 :(得分:1)
我用作曲家从2.0.16更新到2.1 dev-master,得到了同样的错误...... 我的解决方案:
在orm.xml
factory-service="doctrine" factory-method="getManager"
替换为
factory-service="doctrine" factory-method="getEntityManager"
答案 3 :(得分:1)
此外,如果您使用的是Symfony 2.0.x,则不存在 getManager 这样的方法,而是必须使用 getEntityManager 才能使其正常工作。
答案 4 :(得分:0)
我认为你错过了config.yml中的Doctrine ORM映射
教义: ORM: auto_generate_proxy_classes:%kernel.debug% entity_managers: 默认: 映射: FOSUserBundle:〜
试着希望这会有效......