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 相关文章推荐
微盾PHP脚本加密专家php解密算法
Sep 13 PHP
php获取用户IPv4或IPv6地址的代码
Nov 15 PHP
php实现简单洗牌算法
Jun 18 PHP
PHP获取文件夹内文件数的方法
Mar 12 PHP
在WordPress中实现评论头像的自定义默认和延迟加载
Nov 24 PHP
php结合web uploader插件实现分片上传文件
May 10 PHP
浅谈PHP Cookie处理函数
Jun 10 PHP
详解Yii2 定制表单输入字段的标签和样式
Jan 04 PHP
浅谈PHP的$_SERVER[SERVER_NAME]
Feb 04 PHP
PHP树形结构tree类用法示例
Feb 01 PHP
PHP中散列密码的安全性分析
Jul 26 PHP
TP5框架实现签到功能的方法分析
Apr 05 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
风格模板初级不完全修改教程
2006/10/09 PHP
针对初学PHP者的疑难问答(1)
2006/10/09 PHP
PHP+MySQL修改记录的方法
2015/01/21 PHP
php自定义类fsocket模拟post或get请求的方法
2015/07/31 PHP
php面向对象程序设计中self与static的区别分析
2019/05/21 PHP
PHP实现微信公众号验证Token的示例代码
2019/12/16 PHP
javascript是怎么继承的介绍
2012/01/05 Javascript
jquery 跳到顶部和底部动画2句代码简单实现
2013/07/18 Javascript
Jqgrid设置全选(选择)及获取选择行的值示例代码
2013/12/28 Javascript
详解JavaScript ES6中的Generator
2015/07/28 Javascript
实例详解angularjs和ajax的结合使用
2015/10/22 Javascript
AngularJS出现$http异步后台无法获取请求参数问题的解决方法
2016/11/03 Javascript
Jquery通过ajax请求NodeJS返回json数据实例
2016/11/08 NodeJs
jquery实现放大镜简洁代码(推荐)
2017/06/08 jQuery
浅谈es6语法 (Proxy和Reflect的对比)
2017/10/24 Javascript
基于Bootstrap表单验证功能
2017/11/17 Javascript
H5+C3+JS实现五子棋游戏(AI篇)
2020/05/28 Javascript
javascript 构建模块化开发过程解析
2019/09/11 Javascript
简单了解django orm中介模型
2019/07/30 Python
python 爬取马蜂窝景点翻页文字评论的实现
2020/01/20 Python
Python基于jieba, wordcloud库生成中文词云
2020/05/13 Python
Opencv图像处理:如何判断图片里某个颜色值占的比例
2020/06/03 Python
美国知名玩具品牌:Melissa & Doug
2016/08/16 全球购物
Falconeri美国官网:由羊绒和羊毛制成的针织服装
2018/04/08 全球购物
仓库管理专业个人自我评价范文
2013/11/11 职场文书
社区消防工作实施方案
2014/03/21 职场文书
公司采购主管岗位职责
2014/06/17 职场文书
治安消防安全责任书
2014/07/23 职场文书
共青团员自我评价
2015/03/10 职场文书
2015年新教师工作总结
2015/04/28 职场文书
招商银行工作证明
2015/06/17 职场文书
《草虫的村落》教学反思
2016/02/20 职场文书
互联网的下一个风口:新的独角兽将诞生
2019/08/02 职场文书
创业计划书之川味火锅店
2019/09/02 职场文书
thinkphp 获取控制器及控制器方法
2021/04/16 PHP
不想升级Win11?教你彻底锁定老版Windows系统的方法(附下载地址)
2022/09/23 数码科技