当我在线部署包含映射超类实体的symfony网站时,我收到以下错误:
AnnotationException: [Semantical Error] The annotation "@Doctrine\ORM\Mapping\MappedSuperClass" in class Acme\DemoBundle\Entity\Foo does not exist, or could not be auto-loaded.
最糟糕的是,如果我们使用web / app.php(调试模式为true),则不会显示此错误,而如果您使用web / app_dev.php则会阻止该程序。
我应该补充一点,在本地,使用web / app.php或web / app_dev.php时不会显示此错误。
有没有人对这个黑暗的谜团有所了解?
提前感谢任何提示。
答案 0 :(得分:19)
确定,
我将回答我自己的问题,为了将来任何程序员处理的部署。
问题出在学说注释中。
我说: @MappedSuperclass
然而它是: @MappedSuperclass
记住: 在Mac上,它没有什么区别。但是如果在prod模式下也是在linux上(调试选项为true)。这就是它与web / app.php合作的原因。
但是,在开发模式(web / app_dev.php)中,它不适用于Linux环境,这会使大写和普通字母产生差异。
我希望它可以帮助你避免它给我带来的麻烦;)
此致
Wisebes
[问题解决]