PHP无法通过localhost成功连接mysql怎么办-创新互联
下面一起来了解下PHP无法通过localhost成功连接mysql怎么办,相信大家看完肯定会受益匪浅,文字在精不在多,希望PHP无法通过localhost成功连接mysql怎么办这篇短内容是你想要的。
港闸网站制作公司哪家好,找创新互联!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设公司等网站项目制作,到程序开发,运营维护。创新互联成立与2013年到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联。首先搞清楚mysql之连接localhost与127.0.0.1的区别:
127.0.0.1属于TCP/IP连接,是通过网卡传输,依赖网卡,并受到网络防火墙和网卡相关的限制。localhot属于Unix socket方式连接,是不经网卡传输!它不会解析成 IP,不受网络防火墙和网卡相关的的限制,也不会占用网卡、网络资源。一般设置程序时本地服务用localhost是最好的。
我的操作系统php使用127.0.0.1却能连接mysql:
但无法通过localhost连接mysql:
尝试phpmyadmin也遇到同样的错误,不过也出现比较有价值的错误提示(套接字没有正确设置):
这里说套接字指的是php跟mysql通信的一个.sock文件。
分析一下问题:
我的mysql使用的是mariadb5.5,通过yum安装,所以问题出在mysql本身的可能性几乎没有。
通过phpinfo查找socket关键字,可以发现mysql.default_socket没有设置默认值,而pdo_mysql给出了默认值,sock的位置
编辑php.ini给予mysql.default_socket默认路径,并且跟mysql的套接字文件存放路径对应按理就能解决问题。不过还有个偷懒的办法,把mysql的套接字文件在php指定的默认路径创建软连接,就无需修改php.ini了。
查看mysql套接字路径:
# cat /etc/my.cnf
创建软连接:
# ln -s /var/lib/mysql/mysql.sock /tmp
问题解决:
看完PHP无法通过localhost成功连接mysql怎么办这篇文章后,很多读者朋友肯定会想要了解更多的相关内容,如需获取更多的行业信息,可以关注我们的行业资讯栏目。
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
网站栏目:PHP无法通过localhost成功连接mysql怎么办-创新互联
标题网址:http://azwzsj.com/article/desgih.html