繁体   English   中英

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

[英]Laravel classloader.php error failed to open stream: No such file or directory

我能够很好地运行“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

在 Laravel 项目文件夹中:

首先,更新 Composer 自动加载器( 详细信息

composer dumpautoload

然后,重新启动队列(详细信息

php artisan queue:restart

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

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

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

composer dump-autoload

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM