连接数据库报错:“SQLSTATE[HY000] [2002] No such file or directory”。
出现这个问题的原因是PDO无法找到mysql.sock或者mysqld.sock。
解决方法1:
找到相应的.sock文件,并设置php.ini文件中的pdo_mysql.default_socket的值为.sock文件的路径。
pdo_mysql.default_socket= /tmp/mysqld.sock
然后重启Apache,或者nginx下重启php-fpm即可。
解决方法2:(我是yii2.0中使用出错 用这种方式解决)
将TP数据库配置文件的host由localhost改为127.0.0.1
Mysql.sock文件作用说明
mysql.sock是可用于本地服务器的套接字文件。它只是另一种连接机制。
不包含任何数据,但仅用于从客户端到本地服务器来进行交换数据。