PHP中使用localhost连接Mysql不成功的解决方法


Posted in PHP onAugust 20, 2014

发现问题

昨天在帮同事编译安装Linux环境时,遇到一个问题:
WEB服务器是apache,数据库是MySQL。

于是写了一个测试连接数据库的PHP页面:

$mysql = mysql_connect('localhost','root','');

打开 http://localhost/test.php 测试

提示:Can't connect to local MySQL server through socket...

检查环境正常

以为是数据库没有启动,于是查看一下进程,MySQL在进程里,重启了一下MySQL.

使用mysql -u root -p 可以进入MySQL操作界面

直接使用/usr/local/php5/bin/php /web/test.php执行可以连上数据库
apache也重启了,一样无效

疑点:为何网页执行失败,命令执行却成功

这下就郁闷了,使用php命令直接执行就成功,通过网页执行就失败。难道是apache导致?网上搜索了大堆资料也没找到解决方案,重新编译安装apache问题依旧。

把localhost改成127.0.0.1成功

把localhost改成127.0.0.1后竟然连接成功了,开始陷入思考困局:localhost失败127.0.0.1却成功?

ping localhost 地址是127.0.0.1没错

打开hosts加入

127.0.0.1 qttc

使用qttc当主机连接也正常,唯独就不认localhost。

localhost连接方式不同导致

为了了解PHP连接数据库时,主机填写localhost与其它的区别阅读了大量资料,最后得知:

当主机填写为localhost时mysql会采用 unix domain socket连接
当主机填写为127.0.0.1时mysql会采用tcp方式连接
这是linux套接字网络的特性,win平台不会有这个问题

解决方法

在my.cnf的[mysql]区段里添加

protocol=tcp

保存重启MySQL,问题解决!
PHP 相关文章推荐
模板引擎Smarty深入浅出介绍
Dec 06 PHP
认识并使用PHP超级全局变量
Jan 26 PHP
php中一个有意思的日期逻辑处理
Mar 25 PHP
通过PHP current函数获取未知字符键名数组第一个元素的值
Jun 24 PHP
关于使用key/value数据库redis和TTSERVER的心得体会
Jun 28 PHP
php中文验证码实现示例分享
Jan 12 PHP
php通过数组实现多条件查询实现方法(字符串分割)
May 06 PHP
PHP常用设计模式之委托设计模式
Feb 13 PHP
LINUX下PHP程序实现WORD文件转化为PDF文件的方法
May 13 PHP
PHP入门教程之字符串处理技巧总结(转换,过滤,解析,查找,截取,替换等)
Sep 11 PHP
php高清晰度无损图片压缩功能的实现代码
Dec 09 PHP
php双向队列实例讲解
Nov 17 PHP
Smarty变量调节器失效的解决办法
Aug 20 #PHP
PHP编译安装中遇到的两个错误和解决方法
Aug 20 #PHP
PHP基于数组实现的分页函数实例
Aug 20 #PHP
PHP中读取照片exif信息的方法
Aug 20 #PHP
PHP函数eval()介绍和使用示例
Aug 20 #PHP
PHP命令行脚本接收传入参数的三种方式
Aug 20 #PHP
PHP中IP地址与整型数字互相转换详解
Aug 20 #PHP
You might like
动漫女神老婆无限好,但日本女生可能就不是这么一回事了!
2020/03/04 日漫
PHP下使用CURL方式POST数据至API接口的代码
2013/02/14 PHP
php设计模式之命令模式的应用详解
2013/05/21 PHP
ThinkPHP之M方法实例详解
2014/06/20 PHP
php从数据库查询结果生成树形列表的方法
2015/04/17 PHP
在Mac OS上编译安装Nginx+PHP+MariaDB开发环境的教程
2016/02/23 PHP
详解PHP实现定时任务的五种方法
2016/07/25 PHP
一些易混淆且不常用的属性,希望有用
2007/01/29 Javascript
网络图片延迟加载实现代码 超越jquery控件
2010/03/27 Javascript
jQuery插件ImageDrawer.js实现动态绘制图片动画(附源码下载)
2016/02/25 Javascript
总结javascript中的六种迭代器
2016/08/16 Javascript
基于jQuery对象和DOM对象和字符串之间的转化实例
2017/08/08 jQuery
Vue.js与 ASP.NET Core 服务端渲染功能整合
2017/11/16 Javascript
利用nginx + node在阿里云部署https的步骤详解
2017/12/19 Javascript
vue+elementUI实现表单和图片上传及验证功能示例
2019/05/14 Javascript
vue实现登录功能
2020/12/31 Vue.js
[41:41]TFT vs Secret Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
Python编程实现的简单Web服务器示例
2017/06/22 Python
python thrift搭建服务端和客户端测试程序
2018/01/17 Python
Django 接收Post请求数据,并保存到数据库的实现方法
2019/07/12 Python
python利用7z批量解压rar的实现
2019/08/07 Python
Django多进程滚动日志问题解决方案
2019/12/17 Python
python打印n位数“水仙花数”(实例代码)
2019/12/25 Python
使用tensorflow实现矩阵分解方式
2020/02/07 Python
CSS实现半透明边框与多重边框的场景分析
2019/11/13 HTML / CSS
美国高档帽子网上商店:Hats.com
2018/08/09 全球购物
JPA的优势都有哪些
2013/07/04 面试题
师范生实习自我鉴定
2013/11/01 职场文书
优秀医生事迹材料
2014/02/12 职场文书
药学职务聘任书
2014/03/29 职场文书
美容院店长岗位职责
2014/04/08 职场文书
党员教师一句话承诺
2014/05/30 职场文书
李白故里导游词
2015/02/12 职场文书
加班费申请报告
2015/05/15 职场文书
女性健康知识讲座主持词
2015/07/04 职场文书
MySql 8.0及对应驱动包匹配的注意点说明
2021/06/23 MySQL