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 相关文章推荐
JS与PHP向函数传递可变参数的区别实例代码
May 18 PHP
PHP详解ASCII码对照表与字符转换
Dec 05 PHP
PHP 利用AJAX获取网页并输出的实现代码(Zjmainstay)
Aug 31 PHP
zf框架的数据库追踪器使用示例
Mar 13 PHP
php数组添加元素方法小结
Dec 20 PHP
php计算两个坐标(经度,纬度)之间距离的方法
Apr 17 PHP
PHP多维数组遍历方法(2种实现方法)
Dec 10 PHP
Zend Framework前端控制器用法示例
Dec 11 PHP
PHP有序表查找之插值查找算法示例
Feb 10 PHP
PHP实现多图上传和单图上传功能
May 17 PHP
php连接sftp的作用以及实例代码
Sep 23 PHP
PHP getID3类的使用方法学习笔记【附getID3源码下载】
Oct 18 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
Apache, PHP在Windows 9x/NT下的安装与配置 (二)
2006/10/09 PHP
深入理解用mysql_fetch_row()以数组的形式返回查询结果
2013/06/05 PHP
CodeIgniter CLI模式简介
2014/06/17 PHP
PHPExcel读取EXCEL中的图片并保存到本地的方法
2015/02/14 PHP
php实现用手机关闭计算机(电脑)的方法
2015/04/22 PHP
Web开发者必备的12款超赞jQuery插件
2010/12/03 Javascript
JS实现可改变列宽的table实例
2013/07/02 Javascript
使用jQuery中的when实现多个AJAX请求对应单个回调的例子分享
2014/04/23 Javascript
javascript面向对象之共享成员属性与方法及prototype关键字用法
2015/01/13 Javascript
详解vue嵌套路由-params传递参数
2017/05/23 Javascript
利用node.js实现反向代理的方法详解
2017/07/24 Javascript
在Debian(Raspberry Pi)树莓派上安装NodeJS的教程详解
2017/09/19 NodeJs
微信小程序用户自定义模版用法实例分析
2017/11/28 Javascript
vue通过路由实现页面刷新的方法
2018/01/25 Javascript
vue-cli 首屏加载优化问题
2018/11/06 Javascript
微信小程序使用npm支持踩坑
2018/11/07 Javascript
uniapp实现可以左右滑动导航栏
2020/10/21 Javascript
[02:32]【DOTA2亚洲邀请赛】iceice,梦开始的地方
2017/03/13 DOTA
python用模块zlib压缩与解压字符串和文件的方法
2016/12/16 Python
centos6.4下python3.6.1安装教程
2017/07/21 Python
python监控linux内存并写入mongodb(推荐)
2017/09/11 Python
使用Python+Splinter自动刷新抢12306火车票
2018/01/03 Python
python实现求解列表中元素的排列和组合问题
2018/03/15 Python
python实现静态web服务器
2019/09/03 Python
flask框架自定义url转换器操作详解
2020/01/25 Python
Keras: model实现固定部分layer,训练部分layer操作
2020/06/28 Python
Hotels.com南非:酒店预订
2017/11/02 全球购物
精美的手工家居和生活用品:Nkuku
2019/11/01 全球购物
小学校本培训方案
2014/06/06 职场文书
加强机关作风建设心得体会
2014/10/22 职场文书
小班上学期个人总结
2015/02/12 职场文书
施工安全员岗位职责
2015/04/11 职场文书
HTML5中 rem适配方案与 viewport 适配问题详解
2021/04/27 HTML / CSS
mysql自增长id用完了该怎么办
2022/02/12 MySQL
Win11筛选键导致键盘失灵怎么解决? Win11关闭筛选键的技巧
2022/04/08 数码科技
苹果可能正在打击不进行更新的 App
2022/04/24 数码科技