当我在线部署一个包含映射父类(super class)实体的 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( Debug模式为 true),则不会显示此错误,而如果您使用 web/app_dev.php,它会阻止程序。
我应该补充一点,在本地,使用 web/app.php 或 web/app_dev.php 时不会出现此错误。
有没有人知道这个黑暗之谜?
提前感谢您的任何提示。
最佳答案
好的,
我将回答我自己的问题,以供任何其他程序员处理 future 的部署。
问题出在 Doctrine 注释上。
我放:
@MappedSuperClass
而它是:
@MappedSuperclass
记住:
在mac上,它没有区别。但在 linux 上,如果处于 prod 模式(调试选项为 true)。这就是它使用 web/app.php 的原因。
但是,在开发模式(web/app_dev.php)下,它在 linux 环境下不起作用,这使得大写字母和普通字母之间存在差异。
我希望它能让你免去它给我带来的麻烦;)
问候,
怀斯贝斯
[问题已解决]
关于symfony 部署错误 : mapped superclass,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22200681/