我对 symfony2 和doctrine2 比较陌生,并且对某些事情感到困惑......
在
dev
环境中访问某个页面时,我按预期获得了该页面的内容,但是当我尝试使用 prod
环境打开完全相同的页面时,我看到的只是“内部服务器错误” ”.
顺便说一句,
prod
中的其他页面工作正常...
查看 php 错误日志,我发现
PHP 警告:require([path]/app/cache/prod/doctrine/orm/Proxies/__CG__SitesMyBundleEntity[myEntity].php):无法打开流:[path] endor\doctrine\orm\ 中没有此类文件或目录lib\Doctrine\ORM\Proxy\ProxyFactory.php 第 92 行
查看相关目录,确实没有提到的代理文件,但其他的都有。
我尝试完全清除缓存目录,但无济于事,重新生成实体也是如此。
也许相关:我最近升级到了 symfony 2.2 及其配套学说版本。
任何人都可以为我指出正确的方向,为什么该特定代理不会自动创建(而其他代理是自动创建的)以及我可以采取哪些措施来解决此问题?
即使运行时抛出的反射错误
php app/console cache:warmup --env=prod
与缺少代理文件的实体无关,解决反射错误也解决了“内部服务器错误”
在 config.yml 中取消注释
auto_generate_proxy_classes: %kernel.debug%
。