邊做邊學 如何設定 SQL Server 2005 Driver for PHP 執行環境

作者:賴榮樞 (http://www.goodman-lai.idv.tw)

邊做邊學 如何設定 SQL Server 2005 Driver for PHP 執行環境

> [!VIDEO https://www.microsoft.com/zh-tw/videoplayer/embed/296ded5d-de1c-4d91-b531-3a17cfbaf3c9]

雖然 PHP 提供了 mssql_* 函式,可用來存取 Microsoft SQL Server 資料庫,但實際效果經常不盡理想,尤其對較新版本 SQL Server 的支援常常慢了半拍。這對各自擁有廣大使用族群、且又經常需要以 PHP 存取 SQL Server 的開發人員來說,實在很困擾--直到微軟自己開發 SQL Server 2005 Driver for PHP。

  • 瞭解系統需求
  • 設定執行環境
  • 安裝範例資料庫
  • 兩個存取 SQL Server 資料庫的簡單例子
  • 結語

使用 PHP 內建的 mssql_* 函式存取 SQL Server 資料庫常有許多問題,可能是中文變亂碼或不支援某些資料型別,尤其只支援到 SQL Server 6.5 (MSSQL Library 7.0 ),無法善用 SQL Server 2005/2008 的新功能。

為了讓 PHP 環境能有更好的 SQL Server 存取方式,微軟在 2007 年開始發展 SQL Server 2005 Driver for PHP ,這是 PHP 5 的擴充程式(extension ),能讓 PHP 程式讀寫 SQL Server 裡的資料。值得一提的是,微軟不僅公開釋出 SQL Server 2005 Driver for PHP 的二進位檔,也以 Microsoft Publlic License (Ms-PL )釋出 SQL Server 2005 Driver for PHP 原始程式碼。


瞭解系統需求

SQL Server 2005 Driver for PHP 產品名稱很容易讓人以為它只支援 SQL Server 2005 ,實際上它不僅同時支援 SQL Server 2005 和 SQL Server 2008 ,而且也支援包括 Express 在內的所有版本。但因為 SQL Server 2005 Driver for PHP 利用 Microsoft SQL Server 2005 ODBC 驅動程式處理用戶端與 SQL Server 之間的低階通訊,因此用戶端要安裝 Microsoft SQL Server Native Client 2005 ;也因為 SQL Server 2005 Driver for PHP 需要 Microsoft SQL Server 2005 ODBC 驅動程式才能執行,因此只能在 Windows 環境運作。


圖1 SQL Server 2005 Driver for PHP 執行環境示意圖

支援的作業系統

SQL Server 2005 Driver for PHP 支援以下的 Windows 環境(也就是必須安裝在以下的 Windows 環境):

  • Windows 2000 SP 4
  • Windows Server 2003 SP 1 或 SP 2
  • Windows XP SP 2 或 SP 3
  • Windows Vista 或 SP 1
  • Windows Server 2008 或 SP 1

PHP 直譯器版本

SQL Server 2005 Driver for PHP 是 PHP 的擴充程式(extension),而且是根據 PHP 5 的規格所開發。官方文件註明了目前的 SQL Server 2005 Driver for PHP 已於 PHP 5.2.6 測試過。

Web 伺服器

整個 SQL Server 2005 Driver for PHP 的執行環境必須包含 Web 伺服器,而且必須是能執行 PHP 程式的 Web 伺服器。因此 IIS 6、IIS 7、Apache 都是選項,而官方文件註明支援的 Apache 版本是 2.2.8。

Microsoft SQL Server Native Client 2005

SQL Server 2005 Driver for PHP 必須透過 Microsoft SQL Server Native Client 2005,才能與 SQL Server 互通,因此負責執行PHP程式的電腦必須安裝 Microsoft SQL Server Native Client 2005。如果 SQL Server 和 Web 伺服器是同一部電腦,而且所用的是SQL Server 2005,就不用另外安裝 Microsoft SQL Server Native Client 2005,因為安裝 SQL Server 2005 就會連帶安裝。但如果 Web 伺服器和 SQL 伺服器分屬兩台不同的電腦,或者所用的是 SQL Server 2008,可能就需要單獨替 Web 伺服器安裝 Microsoft SQL Server Native Client 2005。如有需要,可到 MSDN 的 Microsoft SQL Server Native Client 網頁下載。

設定執行環境

為了讓各位更瞭解 SQL Server 2005 Driver for PHP 的用法,我們將以兩篇輔以範例的文章來說明,但在說明之前,我們將先設定執行環境。以下是我們的執行環境:

  • Windows Server 2008 SP 1
    • IIS 7 + FastCGI
    • PHP 5 直譯器(5.2.9-2)
    • SQL Server 2005 Driver for PHP
    • Microsoft SQL Server Native Client 2005
    • SQL Server 2005

讓 IIS 7 支援 FastCGI

如果要以 IIS 7 當作 SQL Server 2005 Driver for PHP 執行環境的 Web 伺服器,我們會加裝 IIS 7 的 "CGI" 角色服務(可參考邊做邊學 PHP on Windows:在 IIS7 上執行 PHP 的步驟 2),讓 IIS 7 以 FastCGI 的方式執行PHP網頁。

接著應該下載並安裝 IIS 7.0 FastCGI 模組的 PHP 相容性更新,細節可參考微軟技術支援服務網站的說明:FIX: A PHP application that depends on the REQUEST_URI server variable may fail when you run the PHP application in IIS 7.0

PHP 的安裝與設定

PHP 提供兩種不同執行模式的二進位檔,一種標註了 non-thread safe(nts);另一種沒標註即表示執行時會進行緒程(thread)安全檢查,以防止有新要求就啟動新緒程(或行程)的 CGI 執行方式會耗盡系統資源。

但 FastCGI 不需要這種安全檢查,因為 FastCGI 會以單一緒程來執行,除去這道防護反而可以提高執行效率。所以,如果是以 FastCGI (不論搭配 IIS 6 或 IIS 7)執行 PHP ,都建議下載、執行 non-thread safe 的 PHP (PHP 的二進位檔有兩種包裝方式:msi 、zip ,請下載 zip 套件)。

1. 請連至 PHP 下載網頁 http://www.php.net/downloads.php ,下載 Windows Binaries 的 non-thread safe zip 檔案。

2. 將下載回來的 zip 檔案解壓縮到自行指定的資料夾(例如 C:\php ),並將資料夾裡的 php.ini-recommended 檔案複製且更名為 php.ini 。

3. 以文字編輯器開啟 php.ini ,並如下修改其內容:

  • 刪除 fastcgi.impersonate = 1 的註解符號
  • 刪除 cgi.fix_pathinfo = 1 的註解符號
  • 找出 cgi.force_redirect = 1,除了刪除註解符號,也將值從 1 改成 0
  • 找出 extension_dir,將值改成 PHP 擴充程式所在的資料夾;若是 PHP 5.2.X,預設資料夾是 ext,因此就將值從"./"改成"./ext"

完成上述之後,我們可以命令列指令來測試 PHP:

1. 開啟『命令列提示字元』。

2. 將工作目錄切換到上述步驟2 所指定的資料夾。

3. 輸入 php -info 並按 Enter 按鍵。

如果 PHP 能正常運作,上述指令會列出 PHP 目前的組態資訊。

設定 IIS 與 PHP 的關聯

截至目前我們雖然已在 Windows 環境安裝了 PHP 直譯器,但尚未設定 IIS 與 PHP 的關聯。為了讓 IIS 能夠處理 PHP 網頁,您可參考邊做邊學 PHP on Windows:在 IIS7 上執行 PHP 的步驟 3,進行 IIS 7與 PHP 的關聯設定。

完成設定後照例要檢測。我們可以將測試用的 PHP 網頁檔放在 IIS 的內容資料夾(預設是在C:\inetpub\wwwroot ),測試的 PHP 網頁內容可以簡單如下的列出 PHP 系統資訊:

<?php phpinfo(); ?>

然後再以瀏覽程式向 IIS 要求 PHP 網頁,如果 IIS 能順利處理 PHP 網頁,瀏覽程式就會如下顯示 PHP 相關資訊。


圖2 PHP 網頁測試成功

更改 PHP 行程的回收參數

FastCGI 和 PHP 都能在處理若干要求之後回收行程,FastCGI 是由 instanceMaxRequests 屬性所控制,PHP 則是由環境變數 PHP_FCGI_MAX_REQUESTS 所控制。這兩個參數的預設值為 200、500(多數 PHP 直譯器)。因為我們必須確保 PHP 回收行程之前,FastCGI 已先回收行程,因此 instanceMaxRequests 要小於或等於 PHP_FCGI_MAX_REQUESTS。而原本的預設值可能因為太小而造成頻頻回收行程,導致效能下降,可以將這兩個參數值都改成 10000。

要更改這兩個參數值,可以利用 IIS 管理員(但電腦必須安裝了 Administration Pack for IIS 7.0 )或命令列工具 appcmd 。利用 IIS 管理員的更改步驟如下:

1. 開啟 IIS 管理員,然後雙按伺服器首頁、IIS 分類的『FastCGI Settings 』(如果未安裝 Administration Pack for IIS 7.0 ,則不會有『FastCGI Settings 』項目)。


圖3 雙按『FastCGI Settings』項目

2. 接著 IIS 管理員會列出所有的 FastCGI 執行程式(目前只有 php-cgi.exe),先選取欲修改的 FastCGI 執行程式,再按右上角的『Edit』。


圖4 先選取欲修改的 FastCGI 執行程式,再按右上角的『Edit』

3. 在『Edit FastCGI Application 』交談窗,先將 instanceMaxRequests 的值從 200 改成 10000 ,然後再按 EnvironmentVariables 右側的按鈕。


圖5 更改 instanceMaxRequests 的值

4. 接著會出現『EnvironmentVariables 集合編輯器』交談窗,先按『加入』鈕加入新的變數,再將變數名稱改成 PHP_FCGI_MAX_REQUESTS ,並將變數值改成 10000 。


圖6 加入新變數

利用命令列工具 appcmd 也可達到如上更改 instanceMaxRequests 、PHP_FCGI_MAX_REQUESTS 值的結果(appcmd 位於 %windir%\system32\inetsrv ):

appcmd set config -section:system.webServer/fastCgi /[fullPath='c:\{php_folder}\php-cgi.exe'].instanceMaxRequests:10000

appcmd.exe set config -section:system.webServer/fastCgi /+"[fullPath='C:\{php_folder}\php-cgi.exe'].environmentVariables.[name='PHP_FCGI_MAX_REQUESTS',value='10000']"

安裝 SQL Server 2005 Driver for PHP

安裝的工作分成兩個部分,一是讓 PHP 知道要到哪裡載入 SQL Server 2005 Driver for PHP 擴充程式,第二是設定載入的方式。

目前下載回來的 SQL Server 2005 Driver for PHP ,是個 526 KB 的自解壓縮檔,執行之後指定資料夾,在指定的資料夾就會出現 6 個檔案,其中包括

  • 兩個擴充程式:php_sqlsrv.dll、php_sqlsrv_ts.dll(後者為 thread-safe 版本)
  • 線上說明檔:SQLServerDriverForPHP.chm
  • 其他資訊檔:SQLServerDriverForPHP_Readme.htm、license.rtf

我們的範例使用 nts(non-thread safe)版本的 PHP 直譯器,要搭配 php_sqlsrv.dll。如果忘了或不清楚自己執行的是 nts 還是 ts 的 PHP,可以到前述【PHP 的安裝與設定】步驟 2 所指定的資料夾:若找到 php5ts.dl,應該使用 php_sqlsrv_ts.dll;若找到 php5.dll,就該使用 php_sqlsrv.dll。

但不論您使用哪一個,都必須將 php_sqlsrv.dll 或 php_sqlsrv_ts.dll 其中一個放到 PHP 擴充程式資料夾,也就是前述【PHP 的安裝與設定】步驟 3 的 extension_dir 所指定的資料夾。

複製了適當的擴充程式檔案之後,接著要考慮載入的方式。PHP 有兩種載入擴充程式的方式,一是啟動 PHP 直譯環境時載入,另一種是在執行 PHP 程式時載入;前者的設定方式是將以下其中一行加入 php.ini (也就是 PHP 組態檔):

extension=php_sqlsrv.dll (或 extension=php_sqlsrv_ts.dll )

您可以將上述加在 php.ini 的 Dynamic Extensions 區段,這裡都是 PHP 載入擴充程式的敘述(雖然這些敘述預設都加上註解符號,也就是尚未載入)。php.ini 存檔之後,還必須以 IIS 管理員重新啟動 Web 伺服器,才能讓變更生效。而且最好能檢測 SQL Server 2005 Driver for PHP 是否已經載入 ,例如可以利用 PHP 的 extension_loaded() 函式來檢查 sqlsrv 是否載入(載入會傳回 true ):

if (extension_loaded('sqlsrv'))

另一種載入 SQL Server 2005 Driver for PHP 的時機,是在執行 PHP 程式的時候,作法是在欲載入的 PHP 程式開頭加入以下這一行:

dl('php_sqlsrv.dll'); (或 dl('php_sqlsrv_ts.dll'); )

安裝 Microsoft SQL Server Native Client 2005

Microsoft SQL Server Native Client(sqlncli)提供了用戶端存取 SQL Server 的必備元件,它的單一 DLL 檔案裡同時包含了 SQL OLE DB 提供者和 SQL ODBC 驅動程式,能讓應用程式以 ODBC、OLE DB、ADO 等方式連接 Microsoft SQL Server。目前 SQL Server 2005、SQL Server 2008 各有其 Microsoft SQL Server Native Client,前者支援 SQL Server 7、2000、2005,後者支援 SQL Server 2000、2005、2008,而且也因硬體架構而有 x86、x64、IA64 等版本。

安裝了 SQL Server 2005/2008 的電腦即已安裝了 Microsoft SQL Server Native Client ;如果要個別下載、安裝,可以透過 Microsoft SQL Server 2005 Feature PackMicrosoft SQL Server 2008 Feature Pack 。此外,SQL Server 安裝光碟也有 Microsoft SQL Server Native Client 的安裝套件。

再次提醒您,由於 SQL Server 2005 Driver for PHP 利用 Microsoft SQL Server 2005 ODBC 驅動程式處理用戶端與 SQL Server 之間的低階通訊,因此執行 PHP 程式的電腦(也就是 Web 伺服器)一定要安裝 Microsoft SQL Server Native Client 2005 。如果您的 Web 伺服器與 SQL Server 是同一部電腦,而且用的是 SQL Server 2008 ,那麼這部伺服器必須另外單獨安裝 Microsoft SQL Server Native Client 2005 。Microsoft SQL Server Native Client 2005 和 Microsoft SQL Server Native Client 2008 可以並存的裝在同一部電腦。

電腦如果安裝了 Microsoft SQL Server Native Client ,也會反映在『控制台』的『新增或移除程式』:若列出的項目名稱為 Microsoft SQL Server Native Client ,表示電腦安裝了對應到 SQL Server 2005 的 Microsoft SQL Server Native Client (主版本序號為 9 );若若列出的項目名稱為 Microsoft SQL Server 2008 Native Client ,表示電腦安裝了對應到 SQL Server 2008 的 Microsoft SQL Server Native Client (主版本序號為 10 )。目前兩個版本的 Microsoft SQL Server Native Client 的安裝位置是在:

%SYSTEMROOT%\system32\

安裝範例資料庫

SQL Server 2005 Driver for PHP 能支援 SQL Server 2008,不過這兩篇文章使用的是 SQL Server 2005 的 AdventureWorks 範例資料庫。AdventureWorks 雖然也有 SQL Server 2008 的版本,但結構與 2005 版並不相同。

在 Windows Server 2008 安裝 SQL Server 2005

雖然在 Windows Server 2008 安裝 SQL Server 2005 會出現相容性問題的警示訊息交談窗,但只要繼續安裝,並於安裝完 SQL Server 2005 後,隨即安裝最新的 SQL Server 2005 Service Pack(目前是 SP 3)即可(建議您請勿安裝 SQL Server 2005 安裝光碟內附的範例資料庫,請上網下載新版的範例資料庫;後續將會說明)。


圖7 SQL Server 2005 的相容性問題警示訊息交談窗

不過在 SQL Server 2005 安裝過程的『系統組態檢查』可能會出現『IIS 功能需求』和『ASP.Net 版本註冊需求』等兩項未能通過檢查的警告,起因是伺服器少裝了某些 IIS 7 網頁伺服器的角色服務。根據微軟知識庫文件 920201 ,以下所列的 IIS 7 的角色服務都必須安裝,才不會出現上述兩項警告。

類型

角色服務名稱

一般 HTTP 功能

靜態內容

一般 HTTP 功能

預設文件

一般 HTTP 功能

HTTP 重新導向

一般 HTTP 功能

瀏覽目錄

應用程式開發

ASP.NET

應用程式開發

ISAPI 擴充功能

應用程式開發

ISAPI 篩選器

安全性

Windows 驗證

管理工具

IIS 6 Metabase 相容性

管理工具 IIS 6 WMI 相容性

此外,如果您所安裝的 SQL Server 2005 會安裝 Visual Studio 2005 (用來開發 BI 專案),也會出現相容性問題的警示訊息交談窗。您依然可以繼續安裝,只要在安裝完 Visual Studio 2005 之後,隨即安裝 Visual Studio 2005 的 SP 1 (KB928957 ),以及 Visual Studio 2005 SP 1 的 Windows Vista 更新(KB929470 )即可。


圖8 Visual Studio 2005 安裝在 Windows Server 2008 所出現的相容性問題警示訊息交談窗

安裝 AdventureWorks 範例資料庫

這兩篇文章所用的範例資料庫 AdventureWorks 可以在Microsoft SQL Server Product Samples ,下載網頁所列的 AdventureWorksDB.msi 。安裝 AdventureWorks 範例資料庫之前,請務必完全移除之前安裝的舊版範例資料庫。

接著執行 AdventureWorksDB.msi ,就會將資料庫檔案複製到電腦的 C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data 資料夾。然後還必須自行將資料庫附加到 SQL Server 2005 :以滑鼠右鈕按下 SQL Server Management Studio (SSMS )左窗格的『資料庫』,再選取功能表裡的『附加』,就會出現『附加資料庫』視窗,接著再按『加入』鈕,並選取上述資料夾裡的 AdventureWorks_Data.mdf ,即可加入 AdventureWorks 資料庫(更詳細可參考 codeplex 的文件)。


圖9 加入的 AdventureWorks 範例資料庫

兩個存取 SQL Server 資料庫的簡單例子

本文花了大半篇幅在說明 SQL Server 2005 Driver for PHP 的使用需求,以及執行環境的設定,而在本文的最後,我們將以兩個範例,來說明如何以 SQL Server 2005 Driver for PHP 連接 SQL Server,並且取得資料。我在這兩個範例加了許多註解,就算不懂 PHP 或 SQL,應該也能從程式碼看出些許端倪。在下一篇文章,我會將篇幅集中在 SQL Server 2005 Driver for PHP 存取 SQL Server 資料庫的細節。

欲排除問題、先釐清問題

編寫資料庫程式或多或少都會出現不如預期的錯誤結果,例如:執行程式的帳號無法登入資料庫、指定的資料庫無法開啟、指定的資料表無法存取;如果 SQL Server 是網路上的另一部電腦,問題可能會更複雜。

要排除問題,首要的是釐清問題。資料存取發生錯誤的原因,經常是帳號權限不夠,或者是資料庫設定有誤。這些部分就不是本文能夠涵蓋,市面上的相關書籍,或者 Microsoft SQL Server 2008 線上叢書 ,都是值得參考的資料。

支援 PHP 程式開發的工具

開發人員通常會以文字編輯器來編寫 PHP 程式碼,不僅簡單方便,而且多數編輯器也提供語法高亮的功能,相當實用。如果您是經常使用微軟技術的開發人員,應該會希望 Visual Studio 能支援 PHP。下個版本的 Visual Studio 應該會內建這項功能,但目前的 Visual Studio 需要透過協力廠商的外掛程式,才能支援 PHP 開發。不過微軟專供網頁設計的產品 -- Microsoft Expression Web 2,則已經內建 PHP 的支援。

連接 SQL Server

SQL Server 2005 Driver for PHP 可以讓我們以 Windows 驗證或 SQL Server 驗證來連接 SQL Server ,連接需要叫用 sqlsrv_connect 函式。以下的例子將以 Windows 驗證連接 SQL Server ,然後以 sqlsrv_query 函式查詢登入者名稱;sqlsrv_connect 及 sqlsrv_query 函式皆為 SQL Server 2005 Driver for PHP 所提供。

conn_win_auth.php
<?php
// 以 SQL Server 2005 Driver for PHP 連接 SQL Server AdventureWorks 資料庫(Windows 驗證)
// 指定伺服器名稱
$serverName = "(local)";
// 指定連接字串的資料庫名稱
$connectionInfo = array( "Database"=>"AdventureWorks");

/* 以 sqlsrv_connect 函式配合上述兩個變數連接資料庫
    sqlsrv_connect 函式連接失敗會傳回 false,成功傳回 true */
$conn = sqlsrv_connect( $serverName, $connectionInfo);

// 檢查資料庫的連接是否成功,若 $conn 為 false,表示連接失敗
if( $conn === false )
{
    echo "無法連接伺服器 ".$serverName." 裡的資料庫,錯誤訊息如下:</br></br>";
    die( print_r( sqlsrv_errors(), true));
}

// SQL statement: 查詢誰正在存取資料庫的使用者名稱
$tsql = "SELECT CONVERT(varchar(32), SUSER_SNAME())";

// 以 sqlsrv_query 執行查詢
$stmt = sqlsrv_query( $conn, $tsql);

// 檢查查詢是否成功
if( $stmt)
{
    echo "已執行 SQL 查詢:".$tsql."</br></br>";
    echo "結果如下:<br><br>";
} 
else
{
    echo "查詢 ".$tsql." 失敗,錯誤訊息如下:</br></br>";
    die( print_r( sqlsrv_errors(), true));
}

// 取得並顯示查詢結果
$row = sqlsrv_fetch_array($stmt);
echo "登入的使用者是 ".$row[0]."</br>";

// 釋放查詢及連接資源
sqlsrv_free_stmt( $stmt);
sqlsrv_close( $conn);
?>


圖10 以 Windows 驗證連接 SQL Server,並向資料庫查詢登入者是誰

查詢資料

而以下的例子類似前例,但 SQL 語法稍有改變:

retrieve_data_as_an_array.php
<?php
// 以 SQL Server 2005 Driver for PHP 連接 SQL Server AdventureWorks 資料庫(Windows 驗證)
// 指定伺服器名稱
$serverName = "(local)";
// 指定連接字串的資料庫名稱
$connectionInfo = array( "Database"=>"AdventureWorks");

// 連接資料庫
$conn = sqlsrv_connect( $serverName, $connectionInfo);

// 檢查資料庫的連接是否成功,若 $conn 為 false,表示連接失敗
if( $conn === false )
{
    echo "無法連接伺服器 ".$serverName." 裡的資料庫,錯誤訊息如下:</br></br>";
    die( print_r( sqlsrv_errors(), true));
}

// 定義查詢的 SQL statement
$tsql = "SELECT ProductID, UnitPrice, StockedQty
        FROM Purchasing.PurchaseOrderDetail
        WHERE StockedQty < 3 
        AND DueDate='2002-01-29'";

// 執行查詢
$stmt = sqlsrv_query( $conn, $tsql);

// 檢查查詢是否成功
if ( $stmt )
{
    echo "已執行 SQL 查詢:".$tsql."</br></br>";
    echo "結果如下:<br><br>";
} 
else 
{
    echo "查詢 ".$tsql." 失敗,錯誤訊息如下:</br></br>";
    die( print_r( sqlsrv_errors(), true));
}

// 以迴圈顯示查詢結果(資料列)
while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_NUMERIC))
{
    echo "ProdID: ".$row[0]."<br>";
    echo "UnitPrice: ".$row[1]."<br>";
    echo "StockedQty: ".$row[2]."<br>";
    echo "-----------------<br>";
}

// 釋放查詢及連接資源
sqlsrv_free_stmt( $stmt);
sqlsrv_close( $conn);
?>


圖11 查詢 Purchasing.PurchaseOrderDetail 資料表的 ProductID、UnitPrice、StockedQty 等欄位

結語

PHP 雖然能存取 Microsoft SQL Server 資料庫,但實際效果經常不盡理想。為了讓 PHP 環境能有更好的 SQL Server 存取方式,微軟提供了 SQL Server 2005 Driver for PHP,這是以 Microsoft Publlic License(Ms-PL)釋出原始程式碼的 PHP 5 擴充程式,能讓 PHP 程式讀寫 SQL Server 裡的資料。

能支援 SQL Server 2005 和 SQL Server 2008 的 SQL Server 2005 Driver for PHP ,是利用 Microsoft SQL Server 2005 ODBC 驅動程式處理用戶端與 SQL Server 之間的低階通訊,因此用戶端要安裝 Microsoft SQL Server Native Client 2005 。

從本文各位也能發現,微軟對 PHP 採取了相當支援的態度,不僅開發了 SQL Server 2005 Driver for PHP ,並且以 Ms-PL 授權方式釋出原始碼,甚至 Microsoft Expression Web 2 也支援 PHP 的語法高亮顯示。

本文將篇幅用在 SQL Server 2005 Driver for PHP 的使用需求,以及執行環境的設定,在下一篇文章,則會將篇幅集中於 SQL Server 2005 Driver for PHP 存取 SQL Server 的討論。


延伸閱讀

下載資源

官方網站

SQL Server 2005 Driver for PHP (二進位檔): https://www.microsoft.com/downloads/details.aspx?FamilyId=61BF87E0-D031-466B-B09A-6597C21A2E2A\&displaylang=en