今天分享一个Laravel5数据库配置上的坑。
Laravel5作为一套简洁、优雅的PHP Web开发框架(笑),唯一不足的一点就是中文手册或者说是资料比较少,虽然现在很多大神也开始普及这些东西,但是大神一遍也会忽略一下小坑。今天配置了一下数据库,就是目录Config\database.php,手册上说的数据库的配置文件,打开找到配置MySQL的的地方是这样的:
看起来没什么问题,动手改:
没问题,然后满怀信心去测试:
尴尬。。。报错的大概的意思就是让我确认数据库的密码是不是有错。然后我去对比,发现没有错,的确是没有密码的,然后我百度是不是这个框架数据库必须有密码,发现可以密码为空。然后就迷茫了,我继续搜索这个错误本身搜出的结果没有什么有用的 基本就是密码不对,在这个过程中我发现中“homestead@localhost”这个意识是homestead这个用户的密码,我的用户是root为啥变了,唯一的解释就会配置没有生效,然后我查找关于配置的问题 :可以在linux命令下进入api目录下使用ls-al命令显示隐藏的.env文件,vi命令进入.env文件,i命令进入输入模式,修改密码等配置后,esc命令退出输入模式,shift+:进入末行模式,wq命令保存并退出,或者找到根文件夹中.env文件:
其实一看就是一些配置文件,有邮箱的 Redis的 db就是数据库的,注意DB_USERNAME 是报错里的homested,很明显当时读取的配置就是这个.env的配置 那么env();这个就是读取这个文件的配置的,我把database.php的参数恢复然后修改.env的配置 然后测试果然也成功了。
这个小坑估计也就是我这个粗心的人才会遇见,不过借此机会也发现了.env这个配置文件 小小记录一下