Laravel执行migrate命令提示:No such file or directory的解决方法

Laravel执行migrate命令提示:No such file or directory的解决方法。具体如下:

在Laravel5中,有两种办法解决:

1.增加一个数据库配置项

1
2
3
4
5
6
7
8
9
10
11
12
'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可以执行,然后必须改回来。

1
2
3
4
5
6
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报错的问题。

© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享
评论 抢沙发

请登录后发表评论