PHP命名pipe道问题

我正在尝试在安装了Windows 7的本地机器上testing网站。 我想使用命名pipe道连接到MySQL服务器,但mysql_connect()似乎引发错误:

 [2002] No connection could be made because the target machine actively (trying to connect via tcp://localhost:3306) 

由于某些原因,它仍然使用TCP。 我正在testing一个简单的PHP(5.3)脚本:

 <?php mysql_connect("localhost", "root", "password") or die(); echo "It works!"; ?> 

MySQL客户端工作正常。 这只是PHP的一个问题(注意:使用TCP代替工程)。

这是我在my.ini中的

 [client] pipe socket=mysql [mysqld] skip-networking enable-named-pipe socket=mysql 

我试图在php.ini中设置这些variables:

 pdo_mysql.default_socket = mysql mysql.default_socket = mysql mysqli.default_socket = mysql 

这似乎是一个影响VC9二进制文件的错误。 请参阅: http : //bugs.php.net/bug.php?id=48082 (如果链接不工作,请尝试此caching版本)。 根据[email protected]

正在修补一个补丁。

支持将在下一个小的PHP版本,无论是5.4还是别的什么。

5.3.x不会得到这个,因为这被归类为新function。


作为问这个问题的人,我想提一下,我使用的是Apache Web服务器。 Windows的PHP下载页面确实说,VC9二进制文件不应该用于Apache(我当时不知道),但是这似乎是一个单独的问题,因为IIS用户也有同样的问题,如果你看看错误报告。