laravel的php artisan migrate报错

终端输入: php artisan migrate时,
终端返回: [PDOException]

          SQLSTATE[HY000] [2002] No such file or directory
   注:原样输出以上报错信息。

好奇怪,这个问题是怎么回事啊?

果然是使用这些集成的工具。。。在数据库配置的

 'mysql' => [
            'driver'    => 'mysql',
            'unix_socket' => '/Applications/XAMPP/xamppfiles/var/mysql/mysql.sock',
            'host'      => env('DB_HOST', 'localhost'),
            'database'  => env('DB_DATABASE', 'forge'),
            'username'  => env('DB_USERNAME', 'forge'),
            'password'  => env('DB_PASSWORD', ''),
            'charset'   => 'utf8',
            'collation' => 'utf8_unicode_ci',
            'prefix'    => '',
            'strict'    => false,
        ],

就是找到你的相对应的mysql.sock,将路径配置好就可以了。

JellyBool

第一,你是在哪里执行的php artisan migrate
第二,应该是你删除过某个已经migrate的文件。

976279080

1.我在根目录执行的,命令行敲php artisan也会有一大串信息。
2.我没删过文件夹的东西,在database/migrations里面的建表php文件也是存在的。

图片如下:

LWJ 回复 976279080

我在win系统下也遇到了一个这样的问题
配置改成:

DB_HOST=127.0.0.1:3306
DB_DATABASE=laravelv
DB_USERNAME=root
DB_PASSWORD=
开启PHPstudy的 MYSQL
laravelv 是快速创建的
如果设了密码 就清楚它
PHPstudy 还是挺好用的
基本上就可以解决了。

JellyBool

那你之前有没有执行过migrate?你看看数据库的migratios这张表的内容跟你的database/migrations下面的文件名是否一致。
再不然把你的配置环境告诉我一下。。。估计是在用MAMP之类的吧

976279080

我是看到你视频操作的,第一次执行php artisan migrate就报这种错误。
我默认连接的是本地的laravel数据库,里面是空的。
我用的是Mac版的 xampp

图片如下:

976279080

系统:mac pro 10.10
环境:mac xampp
数据库:mysql
laravel环境:composer下载

JellyBool

果然是使用这些集成的工具。。。在数据库配置的

 'mysql' => [
            'driver'    => 'mysql',
            'unix_socket' => '/Applications/XAMPP/xamppfiles/var/mysql/mysql.sock',
            'host'      => env('DB_HOST', 'localhost'),
            'database'  => env('DB_DATABASE', 'forge'),
            'username'  => env('DB_USERNAME', 'forge'),
            'password'  => env('DB_PASSWORD', ''),
            'charset'   => 'utf8',
            'collation' => 'utf8_unicode_ci',
            'prefix'    => '',
            'strict'    => false,
        ],

就是找到你的相对应的mysql.sock,将路径配置好就可以了。

976279080

这么厉害!!真是谢了。。。

这是什么原理呢,怎么集成环境还得加上这句话?

JellyBool

没有找到对应的mysql.sock呗。。。必然运行不了啊。要是你早点说明你的环境,问题早解决了。。。

tkin1992 回复 JellyBool

我的Ubuntu16.04安装的xampp,但是lamp/var/mysql文件夹下找不到mysql.sock,
错误提示:
[Illuminate\Database\QueryException]
could not find driver (SQL: select * from information_schema.tables where t
able_schema = laravel and table_name = migrations)

[PDOException]
could not find driver

JellyBool 回复 tkin1992

安装 php7-pdo 吧,感觉是这样

tkin1992 回复 JellyBool

安装了,但是安完直接执行php artisan migrate还是报错,错误有些不同,还要配置吗,我不知道怎么才能找到mysql.sock啊

JellyBool 回复 tkin1992

Ubuntu16.04安装的xampp,但是lamp/var/mysql文件夹下找不到mysql.soc

这个环境我也不熟悉。。。完全没接触过

tkin1992 回复 JellyBool

恩,好吧,仍然感谢

976279080

我起先没想到是环境的原因。以前从没遇到过环境不同而出现的问题

WriterLuo

brew 安装的 mysql ,我find了一下貌似没有mysql.sock

WriterLuo

额算是解决了,在/private/tmp/mysql.sock 好奇葩

sodasix

mark 一下.

xiaoyang322

DB_HOST = 127.0.0.1:3306 —> OK
localhost:3306 不好使

openwrtmail

mac自带的数据库端口是3307 试一下? @xiaoyang322

tkin1992

我的Ubuntu16.04安装的xampp,但是lamp/var/mysql文件夹下找不到mysql.sock,
错误提示:
[Illuminate\Database\QueryException]
could not find driver (SQL: select * from information_schema.tables where t
able_schema = laravel and table_name = migrations)

[PDOException]
could not find driver

tkin1992

怎么办啊,查到相关资料了可是还是搞不好

tkin1992

sssssssssssssssssssss