Laravel迁移:类“未find”

我正在向Microsoft Azure部署一个Laravel准系统项目,但每当我尝试执行php artisan migrate ,都会收到错误消息:

[2015-06-13 14:34:05] production.ERROR:在D:\ home \ site \ vendor \ laravel \ framework中找不到'Class'消息的exception'Symfony \ Component \ Debug \ Exception \ FatalErrorException' \ SRC \照亮\数据库\迁移\ Migrator.php:328

堆栈跟踪:

  #0 {main} 

可能是什么问题呢? 非常感谢你

– 编辑 –

迁移class

 <?php use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Migrations\Migration; class CreateUsersTable extends Migration { /** * Run the migrations. * * @return void */ public function up() { Schema::create('users', function(Blueprint $table) { $table->bigIncrements('id'); $table->string('name', 50); $table->string('surname', 50); $table->bigInteger('telephone'); $table->string('email', 50)->unique(); $table->string('username', 50)->unique(); $table->string('password', 50); $table->boolean('active')->default(FALSE); $table->string('email_confirmation_code', 6); $table->enum('notify', ['y', 'n'])->default('y'); $table->rememberToken(); $table->timestamps(); $table->index('username'); }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::drop('users'); } } 

对于PSR-4自动加载程序用户(composer.json):

保留classmap数组内的migrations文件夹,不要将其包含在自动加载的psr-4对象中。 由于迁移主类Migrator不支持命名空间。 例如;

 "autoload": { "classmap": [ "app/database/migrations" ], "psr-4": { "Acme\\controllers\\": "app/controllers" } } 

然后运行:

 php artisan clear-compiled composer dump-autoload php artisan optimize 
  • 首先清除所有编译的文件。
  • 其次更新autoload_psr4.php ,几乎清空autoload_classmap.php
  • 第三个更新autoload_classmap.php

从此时起,您不必再次执行此操作,任何新的迁移都将正常运行。

如果运行迁移时出现“未find类错误”,请尝试运行此命令。

 composer dump-autoload 

然后重新发出migrate命令。 在官方网站(#Running Migrations)中查看更多详情: http ://laravel.com/docs/master/migrations#running-migrations

我有一回同样的问题。 显然这是一个常见的问题,因为在Laravel的文档中,它甚至build议: http ://laravel.com/docs/master/migrations#running-migrations

基本上你所要做的就是刷新一些作曲文件。 只需运行:

composer dump-autoload

这将刷新composer phpautoload文件,然后你可以运行你的正常迁移,它应该工作! 非常好。

我也跑在同样的问题。

对我来说,解决scheme是删除迁移文件,并从数据库的“迁移”表中删除logging。

之后,我跑了

composer php转储自动加载

并最终能够重置/回滚迁移。

我删除了一个迁移文件。 面临同样的问题,而php artisan migrate:rollback

然后我尝试了composer dump-autoload 。 同样出现了。

我恢复了删除的文件,并尝试composer dump-autoloadphp artisan migrate:rollback 。 有用。

在将Laravel 5.2开发项目移植到生产环境后,我遇到了类似的情况(类未find错误)。 生产服务器正在寻找类“项目”,但控制器名称是Project.php。 一旦我把这个文件重命名为project.php,那就好了。

当我试图迁移我的项目时,我收到了同样的类未find错误。 有时候,这是简单的事情,让你。 在我的情况下,我注意到我的class级名称在我的迁移文件中是不正确的,因为我很早就做了重命名更改,并没有在整个过程中进行更改。

更正类名后,我执行了一个composer php转储自动加载和我的问题消失了。

HTH某人:]