在Laravel5中,有两种办法解决:
1.增加一个数据库配置项
'mysql'=> [
'driver'=>'mysql',
'host'=> env('DB_HOST','localhost'),
'database'=> env('DB_DATABASE','forge'),
'username'=> env('DB_USERNAME','forge'),
'password'=> env('DB_PASSWORD',''),
'charset'=>'utf8',
'collation'=>'utf8_general_ci',
'unix_socket'=>'/Applications/MAMP/tmp/mysql/mysql.sock',
'prefix'=>'laravel_',
'strict'=> false,
],
这里增加的一项是unix_socket,本机Mac上装的MAMP环境,路径是/Applications/MAMP/tmp/mysql/mysql.sock,查看自己路径的办法是在mysql中输入以下命令就可以看到:
2.修改.env配置
这个办法只能是临时修改,让migrate可以执行,然后必须改回来。
DB_HOST=localhost
DB_CONNECTION=mysql
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=tanteng
DB_PORT=8889
临时修改办法是把DB_HOST那里改成localhost:8889,也就是把端口号加上,再使用Laravel5的artisan命令执行migrate操作就可以了,但是操作完了要改回以前的写法,否则网站前台页面会打不开连不上数据库,提示错误:SQLSTATE[HY000] [2005] Unknown MySQL server host 'localhost:8889' (0)
好了,这样就解决了使用Laravel5的migrate报错的问题。
转自:http://www.jb51.net/article/81009.htm(谢谢亲.好久才发现解决这个问题的办法.)
网友评论