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

时间:2015-07-08 06:09:52

标签: php mysql laravel laravel-5

我能够运行" 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中改变了这么多东西呢?

由于

5 个答案:

答案 0 :(得分:96)

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

答案 1 :(得分:2)

这在我的Windows 10机器中发生了,使用了来自bitbucket的具有2年历史的Laravel项目。如果composer dump-autoload对您不起作用,则该错误表明您的目录丢失,在数据库中没有 migrations 文件夹目录。

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

答案 2 :(得分:2)

在Laravel项目文件夹中:

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

composer dumpautoload

然后,重新启动队列(details

php artisan queue:restart

答案 3 :(得分:0)

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

composer dump-autoload

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

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

答案 4 :(得分:0)

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

@php artisan软件包:discover --ansi 发现的包裹:门面/点火 发现的软件包:fideloper / proxy 发现的包裹:fruitcake / laravel-cors 发现的软件包:laravel / tinker 发现的软件包:laravel / ui 发现的软件包:nesbot / carbon 发现的软件包:nunomaduro / collision 包清单已成功生成。 生成的包含433​​4个类的优化自动加载文件 您可以再次运行您的项目 PS D:\ laravel \ myApp> php工匠服务