首页 > 技术文章 > can't connect local MySql Server though socket "/tmp"如何解决

souroot 2015-05-16 09:25 原文

openwrt上安装php,提示如此

网上一大通找

发现的都是can't connect local MySql Server though socket "/tmp/mysql.socket"如何解决

人家还是找的mysql.socket;我的竟然直接找的tmp目录,真是无语。人家的解决方法使用软连接直接无效;

 

难道要我自己编译php吗?想想都头大。

 

继续找方案:

在此文档中

http://kong1616.iteye.com/blog/682342

发现了这么一句话

在/etc/php.ini修改mysql.default_socket的值,在这个文件中,关于mysql.default_socket的值的说明是这样的, 
; Default socket name for local MySQL connects.  If empty, uses the built-in MySQL defaults. 
这个值一开始是空的,也就是说,如果我们不主动去修改的话,php将会使用内建在mysql中的默认值 

真是救命稻草,我的php程序用的mysqli,而php.ini中配置的都是mysql,所以,php.ini加上如下内容,顺利解决问题:

 

[MYSQLI]
mysqli.allow_local_infile = On 
mysqli.allow_persistent = On 
mysqli.cache_size = 2000 
mysqli.max_persistent = -1 
mysqli.max_links = -1 
mysqli.default_port =3306 
mysqli.default_socket =/tmp/mysql.sock 
mysqli.default_host =127.0.0.1 
mysqli.default_user =root 
mysqli.default_password =19870215 
mysqli.connect_timeout = 60 
mysqli.trace_mode = Off

 

推荐阅读