MySQL在Windows-7(64位)上0.0.0.0:3306而不是127.0.0.1:3306

时间:2010-05-29 10:52:55

标签: mysql windows-7 phpmyadmin

我刚刚在Windows 7机器上安装了MySQL(64位)的最新产品版本。这是一个直接的vanilla安装,使用所有默认值;但是phpmyadmin完全看不到它。 MySQL被配置为自动启动的服务,我知道它正在运行,因为MySQL GUI工具正常工作。

我从phpmyadmin获得的实际错误消息是:

Cannot load mysql extension. Please check your PHP configuration. - Documentation

phpinfo()显示:

> mysqlnd enabled 
> Version   mysqlnd 5.0.7-dev - 091210 - $Revision: 294543 $
> Compression supported
> Command buffer size  4096 
> Read buffer size   32768 
> Read timeout   31536000
> Collecting statistics  Yes
> Collecting memory statistics  No

做netstat -a,我看

TCP    0.0.0.0:3306           Marks-Netbook:0        LISTENING

当我希望看到

TCP    127.0.0.1:3306         Marks-Netbook:0        LISTENING

我不知道这是不是phpmyadmin无法连接的原因,但怀疑可能就是这种情况。 任何人都可以确认这是否是可能的原因,和/或建议我如何解决这个问题?

3 个答案:

答案 0 :(得分:1)

监听0.0.0.0表示它正在侦听所有接口,包括127.0.0.1的环回。所以这应该不是问题。

请发布您的phpmyadmin配置。

答案 1 :(得分:1)

  

无法加载mysql扩展名。

从PHP连接到MySQL的方法不少于三种:

  1. “mysql”扩展名
  2. “mysqli”扩展
  3. PDO
  4. phpMyAdmin似乎想要使用“mysql”扩展名。检查你的php.ini,确保启用了“mysql”扩展。该行可能看起来像extension=php_mysql.dll

    “mysqlnd”是MySQL的本机驱动程序,扩展名和PDO用于实际连接。

答案 2 :(得分:1)

我花了最近几天试图让phpMyAdmin工作。我的操作系统是Windows 7 64位。 Apache服务器是2.2版(下载安装程序httpd-2.2.17-win32-x86-openssl-0.9.8o.msi)。 PHP版本是PHP 5.3.6(cli)(内置:2011年3月17日10:37:07)。 MySQL版本是5.5(下载安装程序mysql-5.5.12-winx64.msi)。

一切似乎都安装并正常运行。 Apache和MySQL作为服务运行。 PHP似乎没问题。但是在成功完成phpMyAdmin的配置之后,当我尝试启动它时,我得到了“无法加载mysql扩展”错误。

我梳理了很多文档和论坛。感谢所有发布您的经验。这是我尝试过的以及我最终如何使用它。

请记住,在Win7 / 64位中没有“Windows”和“WINNT”目录。 Apache应该在“Program Files(x86)”中,MySQL应该在“Program Files”中,我将PHP放在“C:\ PHP”文件夹中。

一个人建议将PHP目录放在PATH的开头。我想为什么不呢 所以我打开了一个命令窗口并编辑了路径,以便前四个条目是:

C:\ PHP \; C:\ PHP \ ext; C:\ Program Files \ MySQL \ MySQL Server 5.5 \ bin; C:\ Program Files \ MySQL \ MySQL Server 5.5 \ lib;

另一个人建议在你的Apache httpd.conf文件中将你的PHP部分设置为:

LoadFile "C:/php/php5ts.dll"
LoadModule php5_module "C:/php/php5apache2_2.dll"

<IfModule php5_module>
     PHPIniDir "C:/PHP"

    <Location />
        AddType text/html .php .phps
        AddHandler application/x-httpd-php .php
        AddHandler application/x-httpd-php-source .phps
    </Location>

</IfModule>

确保dll文件确实存在于指定的目录中,并在必要时进行调整。

然而,最后一块拼图是在php.ini文件中。您需要注释掉PostGres扩展,如下所示:

;[PHP_PGSQL]
;extension=php_pgsql.dll

(感谢线程http://www.apachelounge.com/viewtopic.php?t=3180中的homiesimpson@gmail.com)获取最后一点信息。

如果您正在使用Win7 64位并且无法解决这个问题。