[PHP]使用 SQLSRV 連結 MS SQL Server 教學

本文將說明如何於 PHP 5.6(x64 TS) 上使用 SQLSRV 設定連接 MS SQL Server。

步驟一

請依據 PHP 版本下載對應的 sqlsrv 版本

  • SQLSRV40 對應 PHP 7.0+ (Windows、Linux)
  • SQLSRV32 對應 PHP 5.6、5.5、5.4 (Windows)
  • SQLSRV31 對應 PHP 5.5 (Windows)
  • SQLSRV30 對應 PHP 5.4 (Windows)

步驟二

執行(解壓縮)下載回來的檔案,並依照您伺服器上的 PHP 版本複製檔案(共兩個 DLL 檔案)。

備註

  • ts 代表為 Thread Safe,一般市面教學都是使用該 PHP 版本。
  • nts 代表為 Non Thread Safe 版本。

步驟三

請將複製好的 DLL 檔案放入 PHP 目錄中的 ext 資料夾內。

步驟四

php.ini 中最尾端加入(請注意您的版本來修改):

extension=php_sqlsrv_56_ts.dll  
extension=php_pdo_sqlsrv_56_ts.dll  

步驟五

重新啟動伺服器,並於 phpinfo 中確認 sqlsrv 是否有安裝完成。

若沒有順利出現請看這裡

  • 請檢查您伺服是否已安裝 Visual C++,沒有的話請由此處下載並安裝。
  • 檢查 php 的 error 檔案,是否出現 %1 不是有效的 Win32 應用 的錯誤,若有的話請使用非官方所出的 x64 DLL 檔案(由此下載)。

步驟六

安裝 Microsoft® ODBC Driver 11 for SQL Server

步驟七

連接測試代碼參考(請依需求修改):

<?php  
$serverUrl = "<serverUrl>";
$connInfo = array( "Database"=>"<table>", "UID"=>"<sqlAccount>", "PWD"=>"<sqlPassword>", "CharacterSet" => "UTF-8");
$conn = sqlsrv_connect( $serverUrl, $connInfo);
if( $conn ) {  
 echo "Connection succeeded.";
}else{
 echo "Connection failed.";
 die( print_r( sqlsrv_errors(), true));
}

sqlsrv_close($conn);  
?>

環境版本資訊

  • OS:Windows Server 2008 R2 (x64)
  • Server:IIS 7
  • PHP: PHP 5.6 (5.6.32) x64 Thread Safe
  • MSSQL:Microsoft SQL Server 2008
ALL RIGHTS RESERVED. COPYRIGHT © 2016. Designed and Coded by Makee.io