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 Smarty生成EXCEL文档的代码
Aug 23 PHP
PHP 采集程序中常用的函数
Dec 09 PHP
完美实现GIF动画缩略图的php代码
Jan 02 PHP
PHP 登录记住密码实现思路
May 07 PHP
zf框架的数据库追踪器使用示例
Mar 13 PHP
ThinkPHP之getField详解
Jun 20 PHP
getJSON跨域SyntaxError问题分析
Aug 07 PHP
MyEclipse常用配置图文教程
Sep 11 PHP
html静态页面调用php文件的方法
Nov 13 PHP
实现php删除链表中重复的结点
Sep 27 PHP
PHP实现的62进制转10进制,10进制转62进制函数示例
Jun 06 PHP
TP框架实现上传一张图片和批量上传图片的方法分析
Apr 23 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
2019十大人气国漫
2020/03/13 国漫
PHP 的几个配置文件函数
2006/12/21 PHP
PHP使用CURL_MULTI实现多线程采集的例子
2014/07/29 PHP
PHP中SimpleXML函数用法分析
2014/11/26 PHP
php+js实现百度地图多点标注的方法
2016/11/30 PHP
Open and Print a Word Document
2007/06/15 Javascript
javascript基础知识大全 便于大家学习,也便于我自己查看
2012/08/17 Javascript
jquery如何把参数列严格转换成数组实现思路
2013/04/01 Javascript
document.getElementById获取控件对象为空的解决方法
2013/11/20 Javascript
json的定义、标准格式及json字符串检验
2014/05/11 Javascript
jquery动态添加元素事件失效问题解决方法
2014/05/23 Javascript
使用mouse事件实现简单的鼠标经过特效
2015/01/30 Javascript
Angular中$compile源码分析
2016/01/28 Javascript
bootstrap模态框跳转到当前模板页面 框消失了而背景存在问题的解决方法
2020/11/30 Javascript
Node.js中如何合并两个复杂对象详解
2016/12/31 Javascript
vue.js实现用户评论、登录、注册、及修改信息功能
2020/05/30 Javascript
JavaScript生成简单等差数列
2017/11/28 Javascript
elementUI中Table表格问题的解决方法
2018/12/04 Javascript
如何优雅地在vue中添加权限控制示例详解
2019/03/07 Javascript
vue 更改连接后台的api示例
2019/11/11 Javascript
微信小程序getLocation 需要在app.json中声明permission字段
2020/03/03 Javascript
JS Html转义和反转义(html编码和解码)的实现与使用方法总结
2020/03/10 Javascript
浅谈python类属性的访问、设置和删除方法
2016/07/25 Python
Python+PIL实现支付宝AR红包
2018/02/09 Python
Python实现平行坐标图的两种方法小结
2019/07/04 Python
Python的垃圾回收机制详解
2019/08/28 Python
在python中利用try..except来代替if..else的用法
2019/12/19 Python
八年级语文教学反思
2014/02/11 职场文书
认识深刻的检讨书
2014/02/16 职场文书
公司领导班子四风对照检查材料
2014/09/27 职场文书
六年级学生期末评语
2014/12/26 职场文书
《检阅》教学反思
2016/02/22 职场文书
MATLAB 如何求取离散点的曲率最大值
2021/04/16 Python
python实现监听键盘
2021/04/26 Python
Python实战之大鱼吃小鱼游戏的实现
2022/04/01 Python
在windows server 2012 r2中安装mysql的详细步骤
2022/07/23 Servers