php无法使用localhost连接mysql的解决方法
php连接mysql时,能通过ip如127.0.0.1,但不能通过localhost链接。
localhost 连接为sock连接方式需要配置php.ini 指向mysql的sock文件。
如果使用pdo连接,仅需配置 pdo_mysql.default_socket,如下:
vim /path/to/php.ini ; 找到pdo_mysql,修改其socket的位置为当前mysql.sock的位置,如。 pdo_mysql.default_socket = /path/to/mysql.sock ; 如果使用其他如mysql, mysql同上 mysql.default_socket = /path/to/mysql.sock mysqli.default_socket = /path/to/mysql.sock
附上php连接数据库,连接mysql的代码:
$dbh = new PDO('mysql:host=localhost;dbname=dbtest', 'hi', '123'); $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $stmt = $dbh->prepare('select * from info limit 5'); $stmt->execute(); $data= $stmt->fetchAll(\PDO::FETCH_ASSOC); var_dump($data);