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和AJAX创建RSS聚合器的代码
Mar 13 PHP
PHP的一个基础知识 表单提交
Jul 04 PHP
PHP冒泡排序算法代码详细解读
Jul 17 PHP
FireFox浏览器使用Javascript上传大文件
Oct 30 PHP
php自动识别文件编码并转换为UTF-8的方法
Jun 12 PHP
PHP实现图片裁剪、添加水印效果代码
Oct 01 PHP
PHP函数extension_loaded()用法实例
Jan 19 PHP
php文件上传你必须知道的几点
Oct 20 PHP
PHP查询分页的实现代码
Jun 09 PHP
PHP文件系统管理(实例讲解)
Sep 19 PHP
PHP封装的验证码工具类定义与用法示例
Aug 22 PHP
thinkphp 获取控制器及控制器方法
Apr 16 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
yii框架表单模型使用及以数组形式提交表单数据示例
2014/04/30 PHP
使用Zttp简化Guzzle 调用
2017/07/02 PHP
PHP封装curl的调用接口及常用函数详解
2018/05/31 PHP
PHP中使用mpdf 导出PDF文件的实现方法
2018/10/22 PHP
php/JS实现的生成随机密码(验证码)功能示例
2019/06/06 PHP
Javascript中的常见排序算法
2007/03/27 Javascript
jQuery 获取URL参数的插件
2010/03/04 Javascript
Javascript高级技巧分享
2014/02/25 Javascript
用js编写的简单的计算器代码程序
2015/08/04 Javascript
跟我学习javascript的循环
2015/11/18 Javascript
JavaScript+canvas实现七色板效果实例
2016/02/18 Javascript
JS判断字符串变量是否含有某个字串的实现方法
2016/06/03 Javascript
Javascript 5种方法实现过滤删除前后所有空格
2016/06/22 Javascript
一篇文章搞定JavaScript类型转换(面试常见)
2017/01/21 Javascript
jQuery弹出层插件popShow(改进版)用法示例
2017/01/23 Javascript
微信小程序 本地图片按照屏幕尺寸处理
2017/08/04 Javascript
vue数组对象排序的实现代码
2018/06/20 Javascript
快速搭建Node.js(Express)用户注册、登录以及授权的方法
2019/05/09 Javascript
关于layui flow loading占位图的实现方法
2019/09/21 Javascript
python 合并文件的具体实例
2013/08/08 Python
python处理圆角图片、圆形图片的例子
2014/04/25 Python
使用pyecharts在jupyter notebook上绘图
2020/04/23 Python
Python 机器学习库 NumPy入门教程
2018/04/19 Python
python中的二维列表实例详解
2018/06/19 Python
Python中GeoJson和bokeh-1的使用讲解
2019/01/03 Python
django框架实现模板中获取request 的各种信息示例
2019/07/01 Python
pycharm编写spark程序,导入pyspark包的3中实现方法
2019/08/02 Python
使用python的pyplot绘制函数实例
2020/02/13 Python
西班牙多品牌鞋店连锁店:Krack
2018/11/30 全球购物
东芝官网商城:还原日式美学,打造美好生活
2018/12/27 全球购物
Regatta官网:英国最受欢迎的户外服装和鞋类品牌
2019/05/01 全球购物
节省高达65%的城市景点费用:Go City
2019/07/06 全球购物
简述进程的启动、终止的方式以及如何进行进程的查看
2013/07/12 面试题
今冬明春火灾防控工作方案
2014/05/29 职场文书
缓刑人员思想汇报500字
2014/09/12 职场文书
2016十一国庆节慰问信
2015/12/01 职场文书