環境需求:作業系統是Windows 2012,Web服務器是IIS 8,PHP版本是5.4,資料庫是微軟的MS-SQLServer 2012。
+++
方法:PHP 自5.3以後不再支援MS-SQL Serever, 但MS自行開發驅動程序,PHP 5.3、5.4都有支援MS-SQL Serever(需2005以上版本)。
1. 先安裝好 Windows 2012, 新增IIS角色伺服器
2. 再安裝好MS-SQL Serever 2012。
3. 下載PHP5.4 (http://windows.php.net/download/#php-5.4)
IIS 8採用CGI/FastCGI API,所以建議下載VC9 x86的非線程安全的版本VC9 x86 Non Thread Safe (http://windows.php.net/downloads/releases/php-5.4.13-nts-Win32-VC9-x86.zip)。執行解壓縮後自訂一個資料夾存放,設定好php.ini及IIS的「處理常式對應」相關連結模組(如下圖)
4. 下載MS-SQL Serever PHP驅動程序:(http://www.microsoft.com/download/en/details.aspx?id=20098),MS-SQL Serever 2012需下載SQLSRV30.EXE,若是MS-SQL Serever 2008需下載SQLSRV20.EXE。
解壓縮後,將php_pdo_sqlsrv_54_nts.dll及php_sqlsrv_54_nts.dll複製到PHP的ext文件夾,並在php.ini中添加下列兩行。
IIS 8採用CGI/FastCGI API,所以建議下載VC9 x86的非線程安全的版本VC9 x86 Non Thread Safe (http://windows.php.net/downloads/releases/php-5.4.13-nts-Win32-VC9-x86.zip)。執行解壓縮後自訂一個資料夾存放,設定好php.ini及IIS的「處理常式對應」相關連結模組(如下圖)
4. 下載MS-SQL Serever PHP驅動程序:(http://www.microsoft.com/download/en/details.aspx?id=20098),MS-SQL Serever 2012需下載SQLSRV30.EXE,若是MS-SQL Serever 2008需下載SQLSRV20.EXE。
解壓縮後,將php_pdo_sqlsrv_54_nts.dll及php_sqlsrv_54_nts.dll複製到PHP的ext文件夾,並在php.ini中添加下列兩行。
extension=php_sqlsrv_54_nts.dll
extension=php_pdo_sqlsrv_54_nts.dll
5. 建議下載安裝MS-SQL Serever2012客戶端驅動程序:(sqlncli.msi)
http://www.microsoft.com/zh-tw/download/details.aspx?id=29065往下拉找到sqlncli.msi 下載安裝
6. 以網頁phpinfo()開啟,確定sqlsrv已經啟動。因為不是PHP官方開發的連結,所以不再以MSSQL區段顯示,而是以sqlsrv分類,如下幾張圖片。
7. 以下列test.php程式測試是否連結成功!
<?php
// Test.php
$serverName = "(local)";
$uid = "pd";
$pwd = "123456";
$connectionInfo = array("UID" =>
$uid, "PWD"=>$pwd, "Database"=>"TestDB");
$conn = sqlsrv_connect( $serverName,
$connectionInfo);
if( $conn )
{
echo "Connection established. <br>";
echo "資料庫存在";
}
else
{
echo "Connection could not be
established. <br>";
echo "資料庫不存在";
die( print_r( sqlsrv_errors(), true));
}
/* Close the connection. */
sqlsrv_close( $conn);
?>
沒有留言:
張貼留言