- 使用 mssql lib
- 使用 sql_srv lib
這邊轉貼一下 第一種作法的 教學文 (有興趣可以自行研究)
-----------------------------------------------------------------------------------
以下開始第二種方法的教學
STEP.1 安裝AppServ 2.5.10
STEP2. 停止Apache服務 (萬無一失做法)
( 如圖,開始 → 搜尋程式與檔案 → 鍵入'"服務" → 點選「服務」)
( 如圖,找到 "Apache2.2" 雙擊 → 停止 → 先別關掉,等等還要啟動)
STEP.3 前往 Microsoft for PHP connect SQL Server 下載補丁
(如上圖,點選Download)
( SQLSRV30.EXE 是 PHP5.4 ~PHP5.5 版本的補丁
SQLSRV20.EXE 是 PHP5.2 ~PHP5.3 版本的補丁
由於我安裝的 AppServ 2.5.10 內建 PHP5.2,所以下載 SQLSRV20.EXE )
STEP4. 安裝補丁 (其實只是把檔案解壓縮,隨便選個空資料夾 暫放)
STEP5. 將補丁「php_sqlsrv_52_ts_vc6.dll」與「php_pdo_sqlsrv_52_ts_vc6.dll」複製到以下路徑內
- C:\AppServ\php5\ext
STEP6. 開啟 php.ini ( C:\Windows\php.ini )
在最底下加入這兩行 →儲存檔案
extension=php_sqlsrv_52_ts_vc6.dll
extension=php_pdo_sqlsrv_52_ts_vc6.dll
STEP7. 啟動Apache服務 (同STEP.2 但要點 "啟動")
STEP8. 確認安裝成功
用瀏覽器開啟 http://localhost/phpinfo.php
查看是不是有 sqlsrv 字樣 (可以用Ctrl+F 搜尋),有找到代表成功
STEP9. 撰寫一隻 PHP程式,測試是否連線 (Code供參考)
<?
$serverName = "Server名稱";
$database = "資料庫名稱";
$uid = "登入帳號";
$pwd = "登入密碼";
try {
$conn = new PDO( "sqlsrv:server=$serverName;Database = $database", $uid, $pwd);
$conn->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
} catch( PDOException $e ) {
die( "Error connecting to SQL Server".$e->getMessage() );
}
echo "Connected to SQL Server";
?>
如果輸出 Connected to SQL Server 代表連線成功 !!
參考資料
https://bugs.php.net/bug.php?id=49315
http://social.technet.microsoft.com/Forums/sqlserver/en-US/5d9e84c2-1c05-449a-aae5-503e2ad6f9ca/named-pipes-provider-could-not-open-a-connection-to-sql-server-2?forum=sqldataaccess
http://www.sqlservercentral.com/Forums/Topic1127826-146-1.aspx
http://www.channaly.info/connect-to-microsoft-sql-server-2005-2008-with-php/
http://social.msdn.microsoft.com/Forums/sqlserver/en-US/b1206aff-1fb3-444c-ab09-0b0298e5d975/cannot-get-php-to-connect-to-sqlserver?forum=sqldriverforphp
http://blog.csdn.net/yanch7/article/details/6335911
http://www.dotblogs.com.tw/joe80075/archive/2011/02/09/21288.aspx
http://www.dotblogs.com.tw/jellycheng/archive/2010/11/02/18743.aspx