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

 更新时间:2014年08月20日 10:14:35   作者:琼台  
这篇文章主要介绍了PHP中使用localhost连接Mysql不成功的解决方法,但使用127.0.0.1则没有问题,本文也可以说是对连接MySQL主机使用127.0.0.1与localhost的区别的讲解,需要的朋友可以参考下

发现问题

昨天在帮同事编译安装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,问题解决!

相关文章

  • lnmp安装多版本PHP共存的方法详解

    lnmp安装多版本PHP共存的方法详解

    这篇文章主要介绍了Lnmp环境中设置多版本PHP共存的技巧,依靠php-fpm工具来进行管理,需要的朋友可以参考下
    2018-08-08
  • 分享8个最佳的代码片段在线测试网站

    分享8个最佳的代码片段在线测试网站

    有时候,我们需要测试一些代码片段,而电脑中没有安装针对该语言的运行环境,没关系,你可以在线测试它们
    2013-06-06
  • PHP使用array_merge重新排列数组下标的方法

    PHP使用array_merge重新排列数组下标的方法

    这篇文章主要介绍了PHP使用array_merge重新排列数组下标的方法,以实例形式较为详细的分析了array_merge的功能,及针对数组下标进行重新排列操作的实现技巧,需要的朋友可以参考下
    2015-07-07
  • PHP对接抖音开发平台接口的详细教程

    PHP对接抖音开发平台接口的详细教程

    本文主要介绍了PHP对接抖音开发平台接口的详细教程,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-11-11
  • PHP递归调用的小技巧讲解

    PHP递归调用的小技巧讲解

    对于初学PHP语言的朋友来说,可能对PHP递归的用法还是比较陌生。我们今天就来讲一下有关PHP递归调用实现多元数组替换功能
    2013-02-02
  • PHP删除非空目录的函数代码小结

    PHP删除非空目录的函数代码小结

    PHP中对于处理文件的操作函数有许多,下面是我搜集的一个删除非空目录的函数方法,感觉不错,就摘抄下来了,在PHP的应用中很实用,源码不是很多,可以根据自己的需求进行修改
    2013-02-02
  • 浅谈PHP中的Trait使用方法

    浅谈PHP中的Trait使用方法

    这篇文章主要介绍了PHP中的Trait使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • PHP单例模式简单用法示例

    PHP单例模式简单用法示例

    这篇文章主要介绍了PHP单例模式简单用法,结合数据库操作类实例形式分析了php单例模式的具体实现方法与使用技巧,需要的朋友可以参考下
    2017-06-06
  • 也谈php网站在线人数统计

    也谈php网站在线人数统计

    db层: db_online.PHP //该函数使用户自己在线,并且检查其他用户的在线情况
    2008-04-04
  • php准确获取文件MIME类型的方法

    php准确获取文件MIME类型的方法

    这篇文章主要介绍了php准确获取文件MIME类型的方法,涉及php针对文件属性操作的相关技巧,需要的朋友可以参考下
    2015-06-06

最新评论