教程集 www.jiaochengji.com
教程集 >  脚本编程  >  php  >  正文 LARAVEL执行MIGRATE命令:NO SUCH FILE OR DIRECTORY

LARAVEL执行MIGRATE命令:NO SUCH FILE OR DIRECTORY

发布时间:2023-05-10   编辑:jiaochengji.com
教程集为您提供LARAVEL执行MIGRATE命令:NO SUCH FILE OR DIRECTORY等资源,欢迎您收藏本站,我们将为您提供最新的LARAVEL执行MIGRATE命令:NO SUCH FILE OR DIRECTORY资源
本文章来为各位介绍一篇关于LARAVEL执行MIGRATE命令:NO SUCH FILE OR DIRECTORY问题的解决办法了,希望此文章能够帮助到各位朋友。

今天使用Laravel命令行工具操作数据库迁移操作时报错,提示mysql 2002错误,如图:

artisan-migrate-PDOException

查看数据库配置没错呀,网站前台也可以打开,说明能连上,那是什么原因呢?

在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%';
如下图所示:

mysql-show-socket

mysql-show-socket

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报错的问题

您可能感兴趣的文章:
LARAVEL执行MIGRATE命令:NO SUCH FILE OR DIRECTORY
mysql_connect提示"No such file or directory"错误"
解决:failed to open stream: No such file or directory in
mac下如何进行php7.1 memcache扩展的安装
无法读取mysql库文件的故障排除
bad interpreter的解决方法(sh文件在linux下无法执行)
Centos安装libxml2 'bin/rm: cannot remove libtoolT'...的解决方法
Python安装MySQL支持模块教程
Laravel执行migrate操作提示”Class not found”怎么解决
windows下shell脚本在linux执行出错怎么解决

[关闭]
~ ~