Windows
PHP命名管道問題
我正在嘗試在安裝了 Windows 7 的本地電腦上測試網站。我想使用命名管道連接到 MySQL 伺服器,但
mysql_connect()
似乎拋出一個錯誤:[2002] No connection could be made because the target machine actively (trying to connect via tcp://localhost:3306)
由於某種原因,它仍在使用 TCP。我正在使用一個簡單的 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中設置這些變數:
pdo_mysql.default_socket = mysql mysql.default_socket = mysql mysqli.default_socket = mysql
這似乎是一個影響 VC9 二進製文件的錯誤。請參閱:http ://bugs.php.net/bug.php?id=48082 (如果連結不起作用,請嘗試此記憶體版本)。根據andrey@php.net:
正在開發一個更新檔。
支持將在下一個 PHP 次要版本中,無論是 5.4 還是其他版本。
5.3.x 不會得到這個,因為這被歸類為新功能。
作為提出這個問題的人,我想提一下我使用的是 Apache Web 伺服器。Windows的PHP 下載頁面確實說 VC9 二進製文件不應該與 Apache 一起使用(我當時不知道),但這似乎是一個單獨的問題,因為 IIS 使用者也有同樣的問題,如果你查看錯誤報告。