windows下PHP安裝MSSQL擴(kuò)展后可以只用pdo連接mssql

  1. 查看已安裝的php版本(重要,如果版本和所下載的.dll文件不匹配,配置后仍然會(huì)無效)

  2. 下載并直接安裝微軟提供的官方ODBC驅(qū)動(dòng)(必須,否則配置失效):
    https://docs.microsoft.com/zh-cn/sql/connect/odbc/windows/release-notes-odbc-sql-server-windows?view=sql-server-ver15#13

  3. 根據(jù)php版本號(hào),查看并下載微軟提供的官方MSSQL擴(kuò)展:
    https://docs.microsoft.com/zh-cn/sql/connect/php/release-notes-php-sql-driver?view=sql-server-ver15
    得到.exe壓縮包(又稱SQLSRV驅(qū)動(dòng)程序)

  4. 直接解壓該壓縮包,得到一些.dll擴(kuò)展文件,可能如下圖所示(版本號(hào)會(huì)有所不同):


    SQLSRV驅(qū)動(dòng)程序
  5. 此壓縮包中提供兩種文件:pdo_sqlsrv類型驅(qū)動(dòng)程序(如:圖中前四個(gè).dll文件)和sqlsrv類型驅(qū)動(dòng)程序(如:圖中后四個(gè).dll文件)。從兩種類型各選擇一個(gè)與當(dāng)下php運(yùn)行環(huán)境相匹配的.dll文件,粘貼進(jìn)php的ext文件夾中。

  6. .dll文件選擇須知:

    1. 為什么要兩種驅(qū)動(dòng)程序中各選一個(gè)并同時(shí)使用?
      答:sqlsrv 驅(qū)動(dòng)程序用于提供與 SQL Server 交互的過程接口,pdo_sqlsrv 驅(qū)動(dòng)程序用于實(shí)現(xiàn) PHP面向?qū)ο蟮腜DO接口,用于處理數(shù)據(jù)庫(kù)
    2. TS類型驅(qū)動(dòng)程序和NTS類型驅(qū)動(dòng)程序應(yīng)該選哪個(gè)?
      答:TS(Thread-Safety)即線程安全,多線程訪問時(shí),采用了加鎖機(jī)制,當(dāng)一個(gè)線程訪問該類的某個(gè)數(shù)據(jù)時(shí)進(jìn)行數(shù)據(jù)加鎖保護(hù),其他線程不能同時(shí)進(jìn)行訪問該數(shù)據(jù),直到該線程讀取完畢,其他線程才可訪問使用該數(shù)據(jù),好處是不會(huì)出現(xiàn)數(shù)據(jù)不一致或者數(shù)據(jù)污染的情況,壞處是耗費(fèi)的時(shí)間要比 NTS 長(zhǎng)。PHP以 ISAPI 方式(Apache 常用方式)加載的時(shí)候選擇TS版本。NTS: NTS(None-Thread Safe)即非線程安全,不提供數(shù)據(jù)訪問保護(hù),有可能出現(xiàn)多個(gè)線程先后或同時(shí)操作同一數(shù)據(jù)的情況,壞處是容易造成數(shù)據(jù)錯(cuò)亂(即臟數(shù)據(jù)),好處是一般操作執(zhí)行時(shí)間比 TS 短
  7. 根據(jù)上條原則,我的電腦是x64系統(tǒng),于是選擇php_sqlsrv_7_ts_x64.dll文件和php_pdo_sqlsrv_7_ts_x64.dll文件。接下來,修改php的php.ini文件,在其中增加擴(kuò)展連接并保存修改:
    extension=php_sqlsrv_7_ts_x64.dll
    extension=php_pdo_sqlsrv_7_ts_x64.dll

  8. 重啟Apache服務(wù),使用phpinfo()函數(shù)檢查輸出是否成功

原文鏈接:https://blog.csdn.net/Tuimaohenyouya/article/details/137766107

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容