在Symfony、Doctrine中改变长度后,"无法声明类X,因为名称已经在使用中"。

问题描述 投票:-2回答:1

一直在为这个问题伤脑筋,我继承了一个大型PHP项目,现在是我的责任,我也承认我对Symfony不是很有经验。

我在StackOverFlow上找遍了所有的帮助,但仍然无法解决以下问题。\src/Entity/SOMETHING/BLAH.PHP

现在当我运行 php binconsole make:migration 我得到以下错误。

[Symfony\Component\Debug\Exception\FatalErrorException]
Compile Error: Cannot declare class App\Entity\SOMETHING\BLAH, because the name is already in use

我改变的只是一列的字符串长度。

@ORMColumn(type="string", 长度=100, nullable=true)

  • 我试着把最初定义表的迁移文件从src文件夹中移出。
  • 我试过清除供应商和node_modules文件夹,并运行npm和composer安装。
  • 我试过cache:clear命令

我搜索了一下代码,这个类只定义了一次。非常感谢任何帮助。

php symfony doctrine
1个回答
0
投票

问题是在同一个目录下有两个文件,名字相同,但大小写不同。(BLAH.phpBlah.php). 由于未知的原因,"重复 "的文件没有显示在任何源代码编辑器中,也没有显示在任何的 ls 命令,也没有在任何文本搜索中使用 grep.

在移动了一个冲突的文件后,发现在做一次 ls 另一个有不同情况的文件在那里。在移动文件之前是看不到的。在删除另一个文件并将原文件移回来后,然后代码就编译好了。

总结:一个可能的文件系统故障是阻止了名称相同但大小写不同的文件可见。

© www.soinside.com 2019 - 2024. All rights reserved.