公告

國明的網路筆記

2013年3月16日 星期六

解決PHP 5.4如何在Windows 2012+IIS 8+MS SQL Server 2012 的環境建立工作


解決PHP 5.4如何在Windows 2012+IIS 8+MS SQL Server 2012的環境建立工作 

環境需求:作業系統是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中添加下列兩行。 
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);
?>






沒有留言:

張貼留言