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

PHP 5.2 連接 SQL Server 2008 完整配置教學

     編輯:PHP 相關知識

PHP 5.2 連接 SQL Server 2008 完整配置教學

PHP 5.2 版本較舊,連接 SQL Server 2008 需使用 Microsoft 官方提供的 SQLSRV 2.0 驅動。本文記錄完整安裝與配置步驟,適用於 Windows 環境下的 legacy 專案維護。

1. 下載驅動程式

官方下載頁面:Microsoft SQLSRV 2.0

  • 檔案名:SQLSRV20.EXE
  • 適用版本:PHP 5.2.x(含 5.2.3)
  • 注意:請根據 PHP 版本(ts/nts)、VC 編譯版本(vc6/vc9)選擇正確的 DLL

2. 安裝步驟

  1. 執行 SQLSRV20.EXE 解壓縮,獲得多個 DLL 檔案
  2. 複製 php_sqlsrv_52_ts_vc6.dll 至 PHP ext 目錄
  3. 編輯 php.ini,新增擴充套件:
    extension=php_sqlsrv_52_ts_vc6.dll
  4. 重啟 Apache / IIS 服務

3. 連接測試程式碼

<?php
$server = '(local)';
$user = 'sa';
$pass = 'sa';
$dbname = 'testdb';

$conn = sqlsrv_connect($server, array(
    'UID' => $user,
    'PWD' => $pass,
    'Database' => $dbname
));

if ($conn) {
    echo "連接成功";
} else {
    echo "連接失敗:";
    print_r(sqlsrv_errors());
}
?>

4. 常見問題排查

  • 執行 phpinfo() 確認 Thread Safety、Compiler 版本
  • 下載對應版本 DLL
  • SQL Server Configuration Manager 啟用 TCP/IP
  • 開放 1433 埠
  • SSMS 登入屬性啟用 SQL Server 驗證
  • 重設 sa 密碼
  • 連接參數加入 'CharacterSet' => 'UTF-8'
  • 資料庫欄位使用 nvarchar/nchar
  • 問題 原因 解決方案
    找不到驅動 DLL 檔案版本不符(ts/nts、vc6/vc9)
    連接失敗 SQL Server 未啟用 TCP/IP、防火牆阻擋
    認證失敗 混合模式驗證未啟用、sa 帳號鎖定
    中文亂碼 字元集不匹配

    5. 進階用法提示

    • 預處理陳述式:使用 sqlsrv_prepare()、sqlsrv_execute() 防止 SQL 注入
    • 交易控制:sqlsrv_begin_transaction()、sqlsrv_commit()、sqlsrv_rollback()
    • 參數化查詢:sqlsrv_query($conn, "SELECT * FROM t WHERE id = ?", array($id))

    版本升級建議

    PHP 5.2 已於 2011 年停止支援,強烈建議規劃升級至 PHP 7.4+ 或 8.x,並同步更新 SQLSRV 驅動至最新版(支援 PHP 8、Linux 環境、Always Encrypted 等新功能)。

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