用thinkphp連接mysql數據庫的時候出現了這樣一個錯誤: SQLSTATE[HY000] [2002] No such file or directory
這是因為在 php.ini 配置文件中未指定mysql.sock(或mysqld.sock)文件路徑導致的PDO無法連接數據庫
在 php.ini 文件中配置以下三項
mysql.default_socket = /tmp/mysql.sock
pdo_mysql.default_socket= /tmp/mysql.sock
mysqli.default_socket =/tmp/mysql.sock
使用mysqld引擎的數據庫應修改為如下設置
mysql.default_socket = /tmp/mysqld.sock
pdo_mysql.default_socket= /tmp/mysqld.sock
mysqli.default_socket =/tmp/mysqld.sock
如果你不知道自己使用的是mysql.sock還是mysqld.sock文件,或者不知道mysql_socket文件的位置,打開phpinfo() 函數信息頁面找到如下PHP擴展中MYSQL擴展所在位置,找到里邊的MYSQL_SOCKET對應的路徑值復制出來即可,或者直接在硬盤搜索中使用命令 find / -name mysql.sock
修改完之后記得重啟服務!
