“src/Entity/Order.php):无法打开流:没有这样的文件或目录” - 当 make:entity - Symfony 5 [重复]

Posted

技术标签:

【中文标题】“src/Entity/Order.php):无法打开流:没有这样的文件或目录” - 当 make:entity - Symfony 5 [重复]【英文标题】:"src/Entity/Order.php): failed to open stream: No such file or directory" - When make:entity - Symfony 5 [duplicate] 【发布时间】:2021-06-14 01:59:37 【问题描述】:

我在 Symfony 5 中遇到了这个问题:

src/Entity/Order.php):打开流失败:没有这样的文件或 目录

当我尝试时

制作:实体

Order,将是我的新实体的名称。


导致问题的原因是什么?

几天前,我手动从我的项目中删除了一个名为 Order 的实体,因为当时它不能满足我的需求。 Symfony 应用程序尝试自动加载名为 Order 的旧实体(它会跟踪它),但自从我删除它后它就不存在了。这使我现在无法(重新)创建一个干净的 Order 实体。

我手动删除了什么?

    实体 存储库 EasyAdmin 中的 Crud 控制器 (+ 与该实体相关的所有内容)

我尝试了什么?

    在 VSC 中搜索 Order.php 文件 php bin/console make:entity --overwrite(尝试覆盖我的订单实体) php bin/控制台缓存:清除

【问题讨论】:

【参考方案1】:

什么解决了这个问题?

运行:

作曲家转储自动加载

几秒钟后,我能够毫无问题地重新创建一个名为 Order 的实体。 为什么? 因为这个命令行要求 Symfony 重新加载供应商目录中的类并重新生成自动加载的文件。现在它“刷新”了类,它没有检测到我的旧 Order 实体,该实体必须已经“缓存”在自动加载中。 (如果我解释错了,请纠正我)

特别感谢:

从另一个 *** 帖子中检索信息。 你可以在这里找到它: symfony make:entity crash on new project ,我只是回答了我自己的问题,以帮助其他人在未来更快地找到解决方案。

【讨论】:

很高兴你让它工作了,但“composer dump-autoload”只是根据 composer.json 的内容重新创建 vendor/autoload.php。没有任何东西直接归入 Symfony。我怀疑您在删除 Order 实体后进行了其他更改,尽管很难弄清楚您做了什么。但同样,只要它有效。 很好的反馈,谢谢。我确实一直在研究我的项目,直到我不得不(重新)创建 Order 实体。我想分享我尝试过的不同步骤和事情,并将它们分享给社区。保重,干杯

以上是关于“src/Entity/Order.php):无法打开流:没有这样的文件或目录” - 当 make:entity - Symfony 5 [重复]的主要内容,如果未能解决你的问题,请参考以下文章