我得到臭名昭着的Doctrine" PHP Rename Access Denied Code 5"使用用户实体登录时,我的Symfony2项目中出错:
\\app\\cache\\dev/doctrine/orm/Proxies\\__CG__AcmeDemoBundleEntityUser.php): Access is denied. (code: 5)
我将登录确定,如果我很幸运,我可以在会话被杀之前加载页面,因为此错误导致用户身份验证失败。它只发生在这一个实体上。
我的同事,具有相同的设置和相同的项目具有相同的错误,但是对于不同的实体(并且仅针对该实体)。
此问题已报告on here before,其中包含指向Doctrine's GitHub上的错误的链接,该错误已在2.5 {已确认固定(在Doctrine ORM 2.5 Release Notes中确认)。
我的Symfony2项目正在使用Doctrine ORM 2.5.4运行,但我仍然遇到同样的错误。
尝试修正
在config_dev.yml中将auto_generate_proxy_classes
的值从%kernel.debug%
更改为false
可以防止出现此问题,但此会隐藏问题,而不是修复问题。< / p>
有没有人设法解决这个问题?
答案 0 :(得分:0)
您是否尝试将auto_generate_proxy_classes
设置为AbstractProxyFactory::AUTOGENERATE_EVAL或AbstractProxyFactory::AUTOGENERATE_FILE_NOT_EXISTS的基础常量值。
根据此文档部分Advanced Configuration > Auto-generating Proxy Classes,这应解决开发环境中的访问被拒绝问题。
此外,您应该确保您的生产配置遵循以下建议:
在生产环境中,强烈建议使用AUTOGENERATE_NEVER以获得最佳性能。其他选项在开发环境中很有意思。