Laravel执行migrate命令提示:No such file or directory的解决方法
本文实例讲述了laravel执行migrate命令提示:no such file or directory的解决方法。分享给大家供大家参考,具体如下:
今天使用laravel命令行工具操作数据库迁移操作时报错,提示mysql 2002错误,如图:
查看数据库配置没错呀,网站前台也可以打开,说明能连上,那是什么原因呢?
在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中输入以下命令就可以看到:
show variables like '%sock%';
如下图所示:
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.tantengvip.com/2015/12/laravel-migrate-mysql-2000/
更多关于laravel相关内容感兴趣的读者可查看本站专题:《laravel框架入门与进阶教程》、《php优秀开发框架总结》、《smarty模板入门基础教程》、《php日期与时间用法总结》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家基于laravel框架的php程序设计有所帮助。
推荐阅读
-
Laravel执行migrate命令提示:No such file or directory的解决方法
-
laravel 执行artisan命令行遇到问题的解决方法(亲测有效)
-
Laravel执行migrate命令提示:No such file or directory的解决方法
-
解决maven执行命令时提示:cached in the local repository的解决方法小结
-
Linux下执行程序出现 Text file busy 提示时的解决方法
-
解决maven执行命令时提示:cached in the local repository的解决方法小结
-
Linux执行.sh文件,提示No such file or directory的问题的解决方法
-
Linux下执行程序出现 Text file busy 提示时的解决方法
-
mkdir()提示No such file or directory错误的解决方法
-
深入理解linux执行文件提示No such file or directory的背后原因