首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

PHP 連接 SQL Server 2005 資料庫完整步驟詳解

     編輯:PHP 相關知識

環境需求

  • Web 伺服器:IIS 6.0
  • PHP 版本:PHP 5.x
  • 資料庫:SQL Server 2005

前置設定:SQL Server 驗證模式

安裝 SQL Server 時務必選擇「混合模式」,即同時啟用 Windows 驗證與 SQL Server 驗證,以便 PHP 使用帳號密碼連線。

PHP 端設定步驟

1. 啟用 MSSQL 擴充模組

編輯 php.ini,找到並取消註解以下行:

extension=php_mssql.dll
mssql.secure_connection = Off

2. 替換 ntwdblib.dll

PHP 內建的 ntwdblib.dll 版本過舊,需下載版本 2000.80.194.0 並覆蓋以下兩個位置:

  • C:\Windows\System32\ntwdblib.dll
  • PHP 安裝目錄下的 ntwdblib.dll

若仍無法連線,嘗試將 php5ts.dll 複製到 C:\Windows\System32\。

3. 設定 SQL Server 網路協定

  1. 開啟 SQL Server Configuration Manager。
  2. 展開「SQL Server 2005 網路設定」→「MSSQLSERVER 的協定」。
  3. 啟用 Named Pipes 與 TCP/IP。
  4. 右鍵「TCP/IP」→「屬性」→「IP 位址」分頁,將 TCP 動態連接埠 設為 1433(實測可留空)。

4. 重啟服務

依序重啟 SQL Server、IIS、PHP(FastCGI)使設定生效。

PHP 連線測試程式碼

<?php
$server = 'localhost,1433'; // 或僅用 'localhost'
$user   = 'sa';
$pass   = 'your_password';

$conn = mssql_connect($server, $user, $pass);
if (!$conn) {
    die('連線失敗: ' . mssql_get_last_message());
}
echo '連線成功!';
mssql_close($conn);
?>

常見問題排查

  • 找不到 php_mssql.dll:確認 PHP 版本對應的 DLL 檔案存在於 ext/ 目錄。
  • 連線逾時:檢查防火牆是否開放 1433 埠,SQL Server Browser 服務是否啟動。
  • 驗證失敗:確認 sa 帳號已啟用且密碼正確,且 SQL Server 確實為混合模式。

補充說明

PHP 5.3 起官方不再包含 php_mssql.dll,微軟提供 SQLSRV 驅動程式 作為替代,支援更高版本 SQL Server 且效能更佳。新專案建議直接使用 SQLSRV 或 PDO_SQLSRV。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved