linux 中yii2 yiidbException报错
- 报错显示:Database Exception – yiidbException SQLSTATE[HY000] [2002] No such file or director报错
- 原因:PHP配置文件php.ini中未指定mysql.sock(或mysqld.sock)文件路径导致的PDO无法链接数据库解决方法是在php.ini文件中自己手动指向mysql.sock路径
- 解决方法:
//第一步找到mysql.sock值
MariaDB [(none)]> show variables like '%sock%';
+---------------+------------------------+
| Variable_name | Value |
+---------------+------------------------+
| socket | /work/mysql/mysql.sock |
+---------------+------------------------+
1 row in set (0.00 sec)
//找到php.ini文件
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和php-fpm
service mysqld restart
killall php-fpm
service php-fpm start