今天我遇到了一个非常奇怪的情况。我正在实现主义符号2中两个实体之间的简单1:m关系。
有用户和组。每个用户都应添加到一个组中。
但每重新加载3-4次,我的控制器就会吐出一个错误。
FatalErrorException: Compile Error: Cannot redeclare class Proxies__CG__CreativebrainsAthleteBundleEntityGroup in /var/www/symfony2/app/cache/dev/doctrine/orm/Proxies/__CG__CreativebrainsAthleteBundleEntityGroup.php line 8
然后重新加载,我得到了正常的JSON输出
{
id: 1,
username: "dominik",
email: "dominik@creativebrains.net",
enabled: true,
displayname: "Dominik",
group: {
name: "asd"
...
}
}
我认为这是某种缓存错误,但我不明白为什么。
希望有人知道答案。祝你今天愉快!
问题与APC操作码缓存有关。正如你所描述的,我一直在经历这种情况,它似乎最常见于多个同时请求。禁用APC可以解决问题,但并不理想。您可以将其添加到php.ini文件中,仅针对这些生成的代理禁用它:
apc.filters = '-.*__CG__.*'
这解决了我的问题。这只是开发环境中的一个问题,所以不应该在生产中使用。