PHP链接数据库报 SQLSTATE[HY000] [2002] No such file or directory
错误
原因
php配置找不到mysql的socket路径,导致无法建立连接。
解决办法
找到php.ini文件
查找
pdo_mysql.default_socket
或mysqli.default_socket
,改为mysql的路径,我的服务器配置如下:
# PDO
pdo_mysql.default_socket=/var/lib/mysql/mysql.sock
# MySQLi
mysqli.default_socket=/var/lib/mysql/mysql.sock
重启php-fpm
#杀死php-fpm进程 ps -ef|grep php-fpm|awk -F ' ' '{print $2}'|xargs kill -9 #找到php-fpm路径重启 ./php-fpm
解决方法2 【网上搜集,未验证】
将PDO连接中的dsn的host由“localhost”改为“127.0.0.1”即可