[PHP] 在Windows環境中與SQL Server(MsSQL)的串接設定

更新於 發佈於 閱讀時間約 4 分鐘
此文章同步刊登於我的部落格

環境建置

一、 安裝 ODBC Driver for SQL Server

  1. https://docs.microsoft.com/zh-tw/sql/connect/odbc/download-odbc-driver-for-sql-server?view=sql-server-ver15下載驅動
  2. 開啟下載下來的msodbcsql.msi,並一路安裝完成
    raw-image

二、 引用dll檔案

  1. 將以下檔案放到/php/ext/底下
    • php_pdo_sqlsrv_74_nts_x64.dll
    • php_pdo_sqlsrv_74_ts_x64.dll
    • php_sqlsrv_74_nts_x64.dll
    • php_sqlsrv_74_ts_x64.dll
  2. 編輯php.ini,加入以下內容
    extension=sqlsrv_74_ts_x64
    extension=sqlsrv_74_nts_x64
    extension=pdo_sqlsrv_74_ts_x64
    extension=pdo_sqlsrv_74_nts_x64INI
  3. 儲存php.ini後,重新啟動Apache

PHP串接

一、連線設定(CodeIgniter 3.1.16)

$config = array(
'hostname' => $host . ',' . $port,
'username' => $user,
'password' => $password,
'database' => $dbname,
'dbdriver' => 'sqlsrv',
'dbprefix' => '',
'pconnect' => FALSE,
'db_debug' => FALSE,
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => $this->char_set,
'dbcollat' => $this->dbcollat,
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array(),
'save_queries' => $this->save_queries
);

try {
$db = @$this->load->database($config, true);
if(empty($db->conn_id)) {
// 連線失敗
echo $db->error()['message'];
} else {
// 連線成功
}
} catch (Exception $e) {
// 出現例外
echo $e->getMessage();
}

環境

  • Windows 10
  • PHP 7.4.9
  • CodeIgniter 3.1.16
  • Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
avatar-img
7會員
21內容數
你可以在這裡看到後端工程師的技術文章 也可以看到一些投資相關的心得分享 歡迎交流~
留言
avatar-img
留言分享你的想法!
Hankz是名工程師 的其他內容
本文將介紹在Windows環境中安裝Oracle Instant Client及相關PHP擴展,以進行與Oracle Database的串接。透過本文所述步驟,您將能在Windows環境中順利進行PHP與Oracle Database的串接設定。
這篇文章將會提供在伺服器上安裝憑證的步驟,包括下載憑證,設定php.ini以及重新啟動Web Server等。
Codeigniter如果不調整設定,網址中會自帶index.php,為了符合MVC架構,通常會將它去除,本文將詳細說明處理步驟。
有的時候,會希望在物件導向中對原生的Class新增功能的時候,大多我們都會寫一個新的class並繼承。 但是其實Laravel提供了一個不同的方式,讓我們可以在常用的Class上,直接新增想要的function,那就是macro。
本文將介紹在Windows環境中安裝Oracle Instant Client及相關PHP擴展,以進行與Oracle Database的串接。透過本文所述步驟,您將能在Windows環境中順利進行PHP與Oracle Database的串接設定。
這篇文章將會提供在伺服器上安裝憑證的步驟,包括下載憑證,設定php.ini以及重新啟動Web Server等。
Codeigniter如果不調整設定,網址中會自帶index.php,為了符合MVC架構,通常會將它去除,本文將詳細說明處理步驟。
有的時候,會希望在物件導向中對原生的Class新增功能的時候,大多我們都會寫一個新的class並繼承。 但是其實Laravel提供了一個不同的方式,讓我們可以在常用的Class上,直接新增想要的function,那就是macro。
你可能也想看
Google News 追蹤
Thumbnail
靈感用盡、鍵盤不再響,盯著喜歡、分享、留言的數字,心跳跟著小鈴鐺七上八下⋯⋯vocus 2025 年 4 月限定新商品,要為創作者打氣! 🚨「創作者打氣包」 最懂創作者的vocus,為創作者打造 ✨ 打氣包,包什麼?!四件道具挺創作者 一、【打氣復活卷】 專屬你的打氣小語,成功登記免費
Thumbnail
全新 vocus 挑戰活動「方格人氣王」來啦~四大挑戰任你選,留言 / 愛心 / 瀏覽數大 PK,還有新手專屬挑戰!無論你是 vocus 上活躍創作者或剛加入的新手,都有機會被更多人看見,獲得站上版位曝光&豐富獎勵!🏆
「你最近在用什麼技術?」 我故作輕鬆地回答,嘴角掛著一抹自信的微笑,生怕哪個細節露了餡。站在技術交流會的角落,我身邊圍繞著一群 Node.js 和 Golang 的信徒,他們談笑間拋出各種高併發、分散式系統的話題,我努力跟
Thumbnail
本文章詳細介紹了 PHP 的依賴管理工具 Composer 的運作原理,包括如何使用 Composer 進行下載、更新依賴的流程,並提供了在專案中正確運用這個工具的實用建議。透過本文,讀者將能夠更好地理解 Composer 的重要性及其背後的機制,確保專案運行的穩定性。
Thumbnail
※ 語法 SELECT select_list FROM table_name​ ※ 解析順序 From:從哪裡拿? SELECT:要 "拿什麼" 資料? ※ 使用場景: Single column(單一欄位): Multiple column(多個欄位): All colu
Thumbnail
本章節旨在介紹如何在不同操作系統上安裝和配置PHP環境,並使用命令行工具進行基礎操作。此外,還介紹了使用Visual Studio Code進行PHP開發的步驟,包括安裝擴展和設置調試環境。
Thumbnail
這篇文章主要是介紹了SQL查詢效能調校的方法,針對索引最佳化做了整理和分享,並提供了一些注意事項和建議。
Thumbnail
下載處: 安裝msi  https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html 或單獨使用 https://the.earth.li/~sgtatham/putty/latest/w64/pscp.exe  安裝好可以
Thumbnail
戴夫寇爾研究團隊發現PHP在Windows系統上存在遠端程式碼執行漏洞,影響多個PHP版本,包括XAMPP預設安裝環境。漏洞源於字元編碼轉換的問題,允許攻擊者在遠端伺服器上執行任意程式碼。建議使用者立即升級至最新PHP版本,或採取臨時緩解措施。
Thumbnail
在PHP的團隊開發中,PHP CS Fixer可以確保每個開發人員的Coding Style相同,是相當重要的工具。本篇文章將會詳細說明PHP CS Fixer在Linux環境下的安裝方式。
Thumbnail
Composer是PHP的軟體套件管理系統,它提供用於管理PHP軟體和依賴庫關係的標準格式。通常以專案為單位進行管理,會在專案根目錄底下(預設是vendor)安裝套件,除此外可以安裝全局套件。
Thumbnail
靈感用盡、鍵盤不再響,盯著喜歡、分享、留言的數字,心跳跟著小鈴鐺七上八下⋯⋯vocus 2025 年 4 月限定新商品,要為創作者打氣! 🚨「創作者打氣包」 最懂創作者的vocus,為創作者打造 ✨ 打氣包,包什麼?!四件道具挺創作者 一、【打氣復活卷】 專屬你的打氣小語,成功登記免費
Thumbnail
全新 vocus 挑戰活動「方格人氣王」來啦~四大挑戰任你選,留言 / 愛心 / 瀏覽數大 PK,還有新手專屬挑戰!無論你是 vocus 上活躍創作者或剛加入的新手,都有機會被更多人看見,獲得站上版位曝光&豐富獎勵!🏆
「你最近在用什麼技術?」 我故作輕鬆地回答,嘴角掛著一抹自信的微笑,生怕哪個細節露了餡。站在技術交流會的角落,我身邊圍繞著一群 Node.js 和 Golang 的信徒,他們談笑間拋出各種高併發、分散式系統的話題,我努力跟
Thumbnail
本文章詳細介紹了 PHP 的依賴管理工具 Composer 的運作原理,包括如何使用 Composer 進行下載、更新依賴的流程,並提供了在專案中正確運用這個工具的實用建議。透過本文,讀者將能夠更好地理解 Composer 的重要性及其背後的機制,確保專案運行的穩定性。
Thumbnail
※ 語法 SELECT select_list FROM table_name​ ※ 解析順序 From:從哪裡拿? SELECT:要 "拿什麼" 資料? ※ 使用場景: Single column(單一欄位): Multiple column(多個欄位): All colu
Thumbnail
本章節旨在介紹如何在不同操作系統上安裝和配置PHP環境,並使用命令行工具進行基礎操作。此外,還介紹了使用Visual Studio Code進行PHP開發的步驟,包括安裝擴展和設置調試環境。
Thumbnail
這篇文章主要是介紹了SQL查詢效能調校的方法,針對索引最佳化做了整理和分享,並提供了一些注意事項和建議。
Thumbnail
下載處: 安裝msi  https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html 或單獨使用 https://the.earth.li/~sgtatham/putty/latest/w64/pscp.exe  安裝好可以
Thumbnail
戴夫寇爾研究團隊發現PHP在Windows系統上存在遠端程式碼執行漏洞,影響多個PHP版本,包括XAMPP預設安裝環境。漏洞源於字元編碼轉換的問題,允許攻擊者在遠端伺服器上執行任意程式碼。建議使用者立即升級至最新PHP版本,或採取臨時緩解措施。
Thumbnail
在PHP的團隊開發中,PHP CS Fixer可以確保每個開發人員的Coding Style相同,是相當重要的工具。本篇文章將會詳細說明PHP CS Fixer在Linux環境下的安裝方式。
Thumbnail
Composer是PHP的軟體套件管理系統,它提供用於管理PHP軟體和依賴庫關係的標準格式。通常以專案為單位進行管理,會在專案根目錄底下(預設是vendor)安裝套件,除此外可以安裝全局套件。