在Linux下php連接mysql數據庫遇到2002錯誤


用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

修改完之后記得重啟服務!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM