Laravel classloader.php 错误打开流失败:没有这样的文件或目录

Posted

技术标签:

【中文标题】Laravel classloader.php 错误打开流失败:没有这样的文件或目录【英文标题】:Laravel classloader.php error failed to open stream: No such file or directory 【发布时间】:2015-09-25 21:32:35 【问题描述】:

我能够很好地运行“php artisan migrate”。如果我使用 Request::all(),我可以获得所有表单输入,但是当我尝试将数据添加到我的 mysql 数据库表时,我收到以下错误:

ErrorException in ClassLoader.php line 412:
include(Correct_Path/full-personal/database/migrations/2015_07_06_035501_resume_requesters.php): failed to open stream: No such file or directory

我目前使用以下代码将表单附加到控制器方法:

 $input = Request::all();
    ResumeRequesters::create($input);

我知道我已正确连接到 mysql 服务器,因为我能够迁移我的迁移。

任何帮助都会很棒。还有为什么 laravel 在 Laravel 5 中改变了这么多东西?

谢谢

【问题讨论】:

试过composer dumpautoload. ? 如果您可以发布单独的问题而不是将您的问题合并为一个问题,则最好。这样,它可以帮助人们回答您的问题,也可以帮助其他人至少寻找您的一个问题。谢谢! 【参考方案1】:

你必须在你的项目文件夹中运行composer dumpautoload

【讨论】:

应该在生产中运行,还是在本地运行并推送? @Dazzle 你也可以在生产环境中运行它。 也解决了这个错误:ErrorException include(/usr/share/nginx/html): Failed to open stream: Success【参考方案2】:

在你的 Laravel 项目文件夹中:

首先,更新作曲家自动加载器 (details)

composer dumpautoload

然后,重新启动队列 (details)

php artisan queue:restart

【讨论】:

【参考方案3】:

这发生在我的 Windows 10 机器上,使用来自 bitbucket 的 2 年历史的 Laravel 项目。如果composer dump-autoload 对您不起作用,那么错误会告诉您在我的情况下缺少一个目录,database 目录中没有 migrations 文件夹。

解决方案:database 目录中创建 migrations 文件夹。您可以使用 IDE 或 Windows 的文件资源管理器执行此操作。如果您使用 Git Bash,请 cd 到您项目的 database 文件夹,然后执行 mkdir migrations 以创建缺少的 migrations 目录。

【讨论】:

【参考方案4】:

ClassLoader.php 将给定的类文件加载到 Laravel 中。类似的错误是由于未能自动加载新类。

composer dump-autoload

composer dump-autoload 重新生成需要包含在项目中的所有类的列表(autoload_classmap.php)。它不会下载任何东西。

何时使用: 当您的项目中有一个新类时,从项目根目录运行它。

【讨论】:

【参考方案5】:

出现这种错误的原因之一是,当您从项目中删除某些内容(例如登录模块)时,自动文件加载器在您删除某些内容时确实包含该文件信息,因此如果您要删除某些内容,那么在从你的项目中删除一些东西,所以应该运行命令 composer dumpautoload 然后它会显示以下日志 生成优化的自动加载文件

@php artisan package:discover --ansi 发现包:门面/点火 发现的包:fideloper/proxy 发现的包裹:fruitcake/laravel-cors 发现包:laravel/tinker 发现包:laravel/ui 发现包装:nesbot/carbon 发现的包裹:nuomaduro/collision 包清单生成成功。 生成包含 4334 个类的优化自动加载文件 你可以再次运行你的项目 PS D:\laravel\myApp> php artisan serve

【讨论】:

以上是关于Laravel classloader.php 错误打开流失败:没有这样的文件或目录的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Laravel 中将验证错误传递给查看而不重定向

laravel的部署与报错解决

laravel框架 5.4自定义报错页面设置

laravel线上添加内容报错,本地可以,到了线上报错怎么处理呢?

安装scount的es驱动,composer require tamayo/laravel-scout-elastic报错解决

laravel 6.* 引入bootstrap报错问题解决方案