YII2进行MySQL数据库操作时出现Database Exception – yii\db\Exception SQLSTATE[HY000] [2002] No such file or directory

YII2进行MySQL操作时出现Database Exception – yii\db\Exception SQLSTATE[HY000] [2002] No such file or directory错误的解决方法

在进行数据库操作时出现如下类似错误,实际则是PHP配置文件php.ini中未指定mysql.sock(或mysqld.sock)文件路径导致的PDO无法链接数据库

解决方法是在php.ini文件中自己手动指向mysql.sock路径

如果没有php.ini文件,请先行安装php-common扩展

find / -iname php.ini  找到php.ini文件
vim php.ini
    mysql.default_socket = /tmp/mysql.sock
    pdo_mysql.default_socket = /tmp/mysql.sock
    mysqli.default_socket = /tmp/mysql.sock

以上三个mysql的值默认是空,将其修改为mysql.sock的路径即可

部分人的mysql.sock值并不一定在/tmp下面,可以进入mysql后进行查找

MariaDB [(none)]> show variables like '%sock%';
+---------------+------------------------+
| Variable_name | Value                  |
+---------------+------------------------+
| socket        | /work/mysql/mysql.sock |
+---------------+------------------------+
1 row in set (0.00 sec)

如上例中,mysql.sock路径就并不是/tmp目录下。不能查看phpinfo,有时候phpinfo信息会出现一定的bug

你可能感兴趣的:(YII2进行MySQL数据库操作时出现Database Exception – yii\db\Exception SQLSTATE[HY000] [2002] No such file or directory)