解决在laravel中auth建立时候遇到的问题


Posted in PHP onOctober 15, 2019

当你使用auth做用户登录注册的时候,会很方便,但是你在做数据库迁移的时候可能会遇到一个问题

$ php artisan migrate
Migration table created successfully.



 [Illuminate\Database\QueryException]
 SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was t
 oo long; max key length is 767 bytes (SQL: alter table `users` add unique `
 users_email_unique`(`email`))

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

不要慌,这里说的是你的数据库迁移完成了,蛋疼的是这里有一个报错,会使你在接下来项目中后面的迁移操作继续报错。

[Illuminate\Database\QueryException]
 SQLSTATE[42S01]: Base table or view already exists: 1050 Table 'users' alre
 ady exists (SQL: create table `users` (`id` int unsigned not null auto_incr
 ement primary key, `name` varchar(191) not null, `email` varchar(191) not n
 ull, `password` varchar(191) not null, `remember_token` varchar(100) null,
 `created_at` timestamp null, `updated_at` timestamp null) default character
 set utf8mb4 collate utf8mb4_unicode_ci)

 [PDOException]
 SQLSTATE[42S01]: Base table or view already exists: 1050 Table 'users' alre
 ady exists

解决方案如下:

索引长度 & MySQL / MariaDB#

Laravel 默认使用 utf8mb4 字符,包括支持在数据库存储「表情」。如果你正在运行的 MySQL release 版本低于5.7.7 或 MariaDB release 版本低于10.2.2 ,为了MySQL为它们创建索引,你可能需要手动配置迁移生成的默认字符串长度,你可以通过调用

项目/app/Providers/AppServiceProvider.php 中的 Schema::defaultStringLength 方法来配置它:

use Illuminate\Support\Facades\Schema;
 
/**
 * 引导任何应用程序服务。
 *
 * @return void
 */
public function boot()
{
 Schema::defaultStringLength(191);
}

或者你可以为数据库开启 innodb_large_prefix 选项,有关如何正确开启此选项的说明请查阅数据库文档。

以上这篇解决在laravel中auth建立时候遇到的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
十天学会php之第二天
Oct 09 PHP
自己在做项目过程中学到的PHP知识收集
Aug 20 PHP
nginx+php-fpm配置文件的组织结构介绍
Nov 07 PHP
PHP 自定义错误处理函数trigger_error()
Mar 26 PHP
php+mysql删除指定编号员工信息的方法
Jan 14 PHP
Thinkphp调用Image类生成缩略图的方法
Mar 07 PHP
php实现处理输入转义字符的代码
Nov 08 PHP
学习php设计模式 php实现单例模式(singleton)
Dec 07 PHP
关于php微信订阅号开发之token验证后自动发送消息给订阅号但是没有消息返回的问题
Dec 21 PHP
3种方法轻松处理php开发中emoji表情的问题
Jul 18 PHP
php实现的中秋博饼游戏之掷骰子并输出结果功能详解
Nov 06 PHP
在 Laravel 项目中使用 webpack-encore的方法
Jul 21 PHP
使用 PHP Masked Package 屏蔽敏感数据的实现方法
Oct 15 #PHP
解决laravel 表单提交-POST 异常的问题
Oct 15 #PHP
浅谈PHP array_search 和 in_array 函数效率问题
Oct 15 #PHP
浅谈Laravel POST,PUT,PATCH 路由的区别
Oct 15 #PHP
laravel 解决ajax异步提交数据,并还回填充表格的问题
Oct 15 #PHP
Laravel 不同生产环境服务器的判断实践
Oct 15 #PHP
laravel自定义分页的实现案例offset()和limit()
Oct 15 #PHP
You might like
php preg_filter执行一个正则表达式搜索和替换
2012/02/27 PHP
php输入流php://input使用示例(php发送图片流到服务器)
2013/12/25 PHP
PHP的fsockopen、pfsockopen函数被主机商禁用的解决办法
2014/07/08 PHP
Yii框架form表单用法实例
2014/12/04 PHP
PHP中字符与字节的区别及字符串与字节转换示例
2016/10/15 PHP
PHP新特性之字节码缓存和内置服务器
2017/08/11 PHP
PHP排序算法之直接插入排序(Straight Insertion Sort)实例分析
2018/04/20 PHP
Yii 框架控制器创建使用及控制器响应操作示例
2019/10/14 PHP
JavaScript 字符串处理函数使用小结
2010/12/02 Javascript
JS面向对象编程详解
2016/03/06 Javascript
JavaScript页面实时显示当前时间实例代码
2016/10/23 Javascript
正则表达式替换html元素属性的方法
2016/11/26 Javascript
AngularJS开发教程之控制器之间的通信方法分析
2016/12/25 Javascript
vuejs2.0实现一个简单的分页示例
2017/02/22 Javascript
Angular5升级RxJS到5.5.3报错:EmptyError: no elements in sequence的解决方法
2018/04/09 Javascript
vue.js 实现点击展开收起动画效果
2018/07/07 Javascript
详解原生JS动态添加和删除类
2019/03/26 Javascript
vue 弹窗时 监听手机返回键关闭弹窗功能(页面不跳转)
2019/05/10 Javascript
Python2.5/2.6实用教程 入门基础篇
2009/11/29 Python
Django实现组合搜索的方法示例
2018/01/23 Python
Python读取本地文件并解析网页元素的方法
2018/05/21 Python
python+selenium 定位到元素,无法点击的解决方法
2019/01/30 Python
Python数据类型之String字符串实例详解
2019/05/08 Python
Python hexstring-list-str之间的转换方法
2019/06/12 Python
如何使用Python标准库进行性能测试
2019/06/25 Python
PyQt5中多线程模块QThread使用方法的实现
2020/01/31 Python
python selenium自动化测试框架搭建的方法步骤
2020/06/14 Python
快速解决jupyter notebook启动需要密码的问题
2020/04/21 Python
解决Alexnet训练模型在每个epoch中准确率和loss都会一升一降问题
2020/06/17 Python
HTML5新增的表单元素和属性实例解析
2014/07/07 HTML / CSS
荷兰家电销售网站:Welhof
2020/12/08 全球购物
字符串str除首尾字符外的其他字符按升序排列
2013/03/08 面试题
小学数学教学经验交流材料
2014/05/22 职场文书
学校爱国卫生月活动总结
2014/06/25 职场文书
工作失职自我检讨书
2015/05/05 职场文书
2016情人节宣传语
2015/07/14 职场文书