laravel 安装Entrust遇到的问题

安装了最新版本的laravel5.6,一个空的laravel,来学习Entrust。

github地址:entrust

安装什么按照安装教程的来就行了,只说遇到的问题。我使用的laravel5.6版本。

问题一:


看到图中红色框起来的错误。

[ReflectionException]
  Method Zizaco\Entrust\MigrationCommand::handle() does not exist
解决方法:找到 vendor\zizaco\entrust\src\commands\MigrationCommand.php,里面有个fire方法,改成handle 就可以了。
此问题解决方法是在:URL评论里找到的。


问题二:


看到图中红色框起来的错误。

[Symfony\Component\Debug\Exception\FatalThrowableError]
  Class 'Of\Your\User\Model\User' not found

在配置文件 config/auth.php 把 providers覆盖

'providers' => [
    'users' => [
        'driver' => 'eloquent',
        'model' => App\User::class,
        'table' => 'users',
    ],
],

问题三:

如图中的错误,我就暂时采取了指定迁移文件的方式解决。步骤:

  1. 在 database/migrations/ 目录下创建一个新的目录,比如 single/

  2. 将你要 migrate 的那个文件移到上一步创建的 single/ 目录

  3. 命令行执行下面的命令:

php artisan migrate --path=/database/migrations/single
解决方法来源: URL


问题四:

如图中的报错

[PDOException]
  SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 1000 bytes

解决方法:

1、升级mysql版本到5.5.3以上

2、手动配置迁移命令 migrate 生成的默认字符串长度,在 app\Providers\AppServiceProvider.php 中调用 Schema::defaultStringLength 方法来实现配置:

use Illuminate\Support\Facades\Schema;

public function boot()
{
   Schema::defaultStringLength(191);
}
解决方法来源: URL

猜你喜欢

转载自blog.csdn.net/qq_38375394/article/details/80334728