本文实例讲述了Laravel执行migrate命令提示:No such file or directory的解决方法。分享给大家供大家参考,具体如下:
今天使用Laravel命令行工具操作数据库迁移操作时报错,提示MysqL 2002错误,如图:
查看数据库配置没错呀,网站前台也可以打开,说明能连上,那是什么原因呢?
在Laravel5中,有两种办法解决:
[
'driver' => 'MysqL','host' => env('DB_HOST','localhost'),'database' => env('DB_DATABASE','forge'),'username' => env('DB_USERNAME','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可以执行,然后必须改回来。
PHP;">
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程序设计有所帮助。
原文链接:https://www.f2er.com/laravel/20210.html