【问题标题】:why php win32 on windows7 64 cannot connect to mysql 32 or 64 installed on the same machine?为什么windows7 64上的php win32无法连接到同一台机器上安装的mysql 32或64?
【发布时间】:2011-05-27 10:02:09
【问题描述】:

我在 Windows 7 64 位上安装了 Apache 2.2 和 PHP 32 位。 我正确配置了 PHP 以作为一个模块运行并且像一个魅力一样工作。

然后我安装了 MySQL Server 5.1 64bit。 激活 mysql 或 mysqli 后,php 按预期运行,但是当我使用浏览器连接到 localhost 时,php 脚本无法使用 mysql_connetc() 连接到数据库并生成超时错误。

运行 phpinfo() 表示 mysql 模块正在运行且没有错误。

我尝试卸载 mysql 服务器 win64 并重新安装相同的版本,但为 win32。 也会发生同样的情况。

【问题讨论】:

  • 如果您尝试连接到localhost,请尝试使用127.0.0.1
  • 只要我问这个问题,我就用谷歌搜索了一下,我在 mysql 论坛上找到了答案
  • 如果您找到了解决方案,请发布带有详细信息的答案,最好是链接,然后接受您自己的答案
  • 它说“您可以在 2 天内接受自己的答案”。我等……

标签: php mysql windows-7 32bit-64bit


【解决方案1】:

您是否添加了适当的防火墙例外?你可以使用命令行工具或类似工具连接到 mysql 吗?

【讨论】:

  • 我可以毫无问题地连接mysql客户端。我还在 mysql 端口的防火墙中添加了防火墙例外
  • 好的,下一个测试 - 你能用你当前的 PHP 安装连接到不同服务器上的 mysql 吗?
【解决方案2】:

四处搜索,我在 mysql 论坛上找到了这篇文章

http://forums.mysql.com/read.php?11,366955,366962#msg-366962
http://forums.mysql.com/read.php?11,366955,378099#msg-378099

基本上如果你没有在host文件中设置localhost是127.0.0.1 windows 7默认使用IPV6地址作为localhost会导致连接错误。

将此添加到主机文件解决问题:

127.0.0.1 localhost

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-04-04
    • 1970-01-01
    • 2013-01-07
    • 2012-09-16
    • 2010-10-06
    • 1970-01-01
    • 2012-12-14
    • 2015-12-05
    相关资源
    最近更新 更多