6

当我在线部署一个包含映射超类实体的 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 时不会出现此错误。

有人知道这个黑暗之谜吗?

提前感谢您的任何提示。

4

1 回答 1

19

好的,

为了任何其他程序员处理的未来部署,我将回答我自己的问题。

问题出在教义注释中。

我输入:@MappedSuperClass

而它是:@MappedSuperclass

记住:在 mac 上,它没有任何区别。但如果在 prod 模式下(调试选项为 true),也在 linux 上。这就是它使用 web/app.php 的原因。

但是,在开发模式下(web/app_dev.php),它在 linux 环境下不起作用,这使得大写字母和普通字母有所不同。

我希望它能让你免去它给我带来的头痛;)

问候,

智者

[问题解决]

于 2014-03-06T09:19:50.263 回答