尽管我试图理解这个问题,但我仍然无法弄清楚发生了什么。 我开发了一个使用Symfony 2.7的网站,它完全适用于开发模式。当我在生产模式下测试它时,返回错误500。
例外是:
Uncaught PHP Exception Symfony\Component\Debug\Exception\FatalErrorException:
"Error: Call to a member function getCacheFactory() on a non-object" at
/home/admdev-php/public_html/sfSUAPS/vendor/doctrine/orm/lib/Doctrine/ORM/UnitOfWork.php line 3039
{"exception":"[object] (Symfony\\Component\\Debug\\Exception\\FatalErrorException(code: 0):
Error: Call to a member function getCacheFactory() on a non-object at
/home/admdev-php/public_html/sfSUAPS/vendor/doctrine/orm/lib/Doctrine/ORM/UnitOfWork.php:3039)"} []
所以我试图清除缓存,我收到同样的信息:
[Symfony\Component\Debug\Exception\FatalErrorException]
Compile Error: require(): Failed opening required
'/home/stagiaire/workspace/suaps/app/cache/prod/doctrine/orm/Proxies/__CG__AppBundleEntityPlace.php'
(include_path='.:/usr/share/php:/usr/share/pear')`
我试图清除教条的缓存,但这并没有解决问题。
有几个角色:一个用于学生,一个用于教师,一个用于管理员。当我的角色是学生时,我才会收到此错误。所以我仔细研究了所关注的方法,并评论了与研究相关的所有方法,并且它起作用了。所以我认为错误与我的实体存储库有关,因为" findBy"和" findAll"失败了。
我已经看过Symfony的代码,但错误似乎就在我身边。我真的不知道发生了什么,谢谢你,如果你能帮助我的话。
问题已解决
原来有人直接从缓存中使用了实体......
答案 0 :(得分:0)
原来有人直接从缓存中使用了实体......
books