繁体   English   中英

Symfony2 / Doctrine2中的“拒绝访问代码5”PHP重命名错误

[英]“Access Denied Code 5” PHP Rename Error in Symfony2/Doctrine2

当我使用User实体登录时,我在Symfony2项目中得到了臭名昭着的Doctrine“PHP Rename Access Denied Code 5”错误:

\\app\\cache\\dev/doctrine/orm/Proxies\\__CG__AcmeDemoBundleEntityUser.php): Access is denied. (code: 5)

我将登录确定,如果我很幸运,我可以在会话被杀之前加载页面,因为此错误导致用户身份验证失败。 它只发生在这一个实体上。

我的同事,具有相同的设置和相同的项目具有相同的错误,但是对于不同的实体(并且仅针对该实体)。

这个问题之前在此处报道,其中包含Doctrine的GitHub上的错误链接,该错误已经确认为2.5(在Doctrine ORM 2.5发行说明中确认)。

我的Symfony2项目正在运行Doctrine ORM 2.5.4但我仍然遇到同样的错误。

试图修复

  • 重新安装XAMPP;
  • 从git中删除项目并从中拉出项目;
  • 更新的供应商项目(可能还有一个旧的Doctrine ORM包);
  • 关闭PHPStorm(可能是锁定文件以进行索引);
  • 禁用Windows索引(与上面相同的原因)。

auto_generate_proxy_classes的值从%kernel.debug% auto_generate_proxy_classes %kernel.debug%更改为false可以防止出现此问题,但这会隐藏问题而不是修复它。

有没有人设法解决这个问题?

您是否尝试将auto_generate_proxy_classes设置为AbstractProxyFactory :: AUTOGENERATE_EVALAbstractProxyFactory :: AUTOGENERATE_FILE_NOT_EXISTS的基础常量值。

根据此文档部分高级配置>自动生成代理类,这应该修复开发环境中的访问被拒绝问题。

此外,您应确保您的生产配置遵循以下建议:

在生产环境中,强烈建议使用AUTOGENERATE_NEVER以获得最佳性能。 其他选项在开发环境中很有趣。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM