具体报错信息 Illuminate\Database\QueryException : SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes (SQL: alter table users add unique users_email_unique(email)) user表的migartion,可以看出name字段并没有声明长度,laravel默认了1071,而报错中看出数据库设置了最大是767,所以就报错了 Laravel中默认使用utf8mb4字符编码,而不是之前的utf8编码。mb4的最大字符长度为4个字节,解决方法是 需要手动配置迁移命令migrate生成的默认字符串长度 打开服务提供者 AuthServiceProvider, 在 boot 方法中加入如下代码: 调用Schema::defaultStringLength方法来实现配置 App\Providers\AppServiceProvider 具体代码(记得头部引入Schema): use Illuminate\Support\Facades\Schema