我試圖用PHP連接到MSSQL數據庫,並在嘗試連接時遇到非常令人沮喪的錯誤。它加載了一分鐘,打印出下面的消息之前:使用SQLSrv和PHP 5.4.7連接到MSSQL時出錯
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[08001]:
[Microsoft][SQL Server Native Client 11.0]Named Pipes Provider: Could not open a connection to SQL Server [53].
這裏是我的連接字符串:
DB::config("sqlsrv:Server={$dbHost} ; Database={$dbName}", $dbUser, $dbPass);
在我的DB類:
public static function config($dsn, $user, $pass)
{
self::$_pdo = @new PDO($dsn, $user, $pass);
...// intentionally left out
我很困惑。我在我的php.ini文件中配置了以下模塊:extension = php_pdo_sqlsrv_54_ts.dll。雖然我覺得我安裝了它的權利,我沒有收到關於驅動程序不能正常工作的錯誤信息,PHP的此位打印什麼:
if (function_exists('sqlsrv_connect'))
echo "hey";
,正如你可以從上面的SQL服務器本機客戶端我的錯誤信息看11似乎在工作。我在Windows平臺上。我試圖禁用防火牆無濟於事。我沒有太多有關SQL服務器的信息,或者我會在這裏分享它。
這是我第一次發佈在Stack上,所以我很抱歉如果我遺漏了一條關鍵信息,或者我沒有按照某種方式遵守適當的禮儀,但任何幫助都是絕對讚賞的。
此外,我應該補充一點,我已經做了太多谷歌搜索,並沒有取得任何成功。
SQL Server是否允許網絡連接?使用SQL Express,默認情況下它們是禁用的 – 2013-03-27 07:48:16
實際上,這是我的機器試圖連接的東西。我試圖連接到不同的服務器,也失敗了。此外,有人使用Mac的sqlsrv等效連接可以。 – ncksllvn 2013-03-27 14:52:04