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线上添加内容报错,本地可以,到了线上报错怎么处理呢?
安装scount的es驱动,composer require tamayo/laravel-scout-elastic报错解决