Channely
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);
<< 上一篇 MySQL运行状态show status详解 solr 搭建安装使用 下一篇 >>
文章标签
随意 | Created At 2014 By William Clinton | 蜀ICP备14002619号-4 |