尝试将FOSUserBundle安装到Symfony2时遇到问题

尝试将FOSUserBundle安装到Symfony2时遇到问题,symfony,fosuserbundle,Symfony,Fosuserbundle,当我尝试安装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版本,但遇到了相同

当我尝试安装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版本,但遇到了相同的问题


我接着说。

我认为您错过了config.yml中的ORM映射

原则: orm: 自动生成代理类:%kernel.debug% 实体管理人员: 违约: 映射: FOSUserBundle:~


试试这个,希望它能起作用……

我已经使用FOS用户包很长时间了,这个周末我的自动构建停止了工作,与您在这里写的错误完全相同。于是我找到了解决办法:)

似乎最新版本的FOS用户包有一个bug,所以我将其添加到
deps.lock
文件中:

FOSUserBundle f487dc16cec6003c46542a90d5193761fd91360a
在deps文件中,我有:

[FOSUserBundle]
git=http://github.com/FriendsOfSymfony/FOSUserBundle.git
target=bundles/FOS/UserBundle
瞧!它现在起作用了

(提交f487d…是4天前从提交中选择的-当我知道它正在工作时)


这应该可以解决你的问题

您可能已经安装了用于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

我已经用composer从2.0.16更新到2.1 dev master,得到了相同的错误。。。 我的解决方案:

orm.xml中

factory-service="doctrine" factory-method="getManager"
替换为

factory-service="doctrine" factory-method="getEntityManager"

此外,如果您使用的是Symfony 2.0.x,则没有诸如getManager之类的方法,相反,您必须使用getEntityManager使其工作。

这很有帮助!我从这里下载的版本应该是origin/1.2.x