在此分成三步走:
第一部:查看配置腔寡,下載文件
首先查看自己的php和sql?server版本
Php文件輸入echoPHP_VERSION運(yùn)行腳本就可以看到
如果是php7壮啊,則搭配sql?server2016贞绳,即若你的php版本是7那么sql server必須是2016
其余的根據(jù)以下信息來搭配
SQLSRV的版本與php的關(guān)系
Version 4.0 supports PHP 7.0+
Version 3.2 supports PHP 5.6, 5.5, and 5.4
Version 3.1 supports PHP 5.5 and 5.4
Version 3.0 supports PHP 5.4.
SQLSRV與ODBC driver for server的關(guān)系
Version 4.0ODBC Driver 11或者ODBC Driver 13.
Versions 3.2/ 3.1ODBCDriver 11.
Version 3.0Microsoft SQL Server 2012 Native Client x86.(若為php5.4建議使用version3.1或3.2)
ODBCdriverforserver與sql server版本的關(guān)系
ODBC driver 11支持Microsoft SQLServer 2005, 2008, 2008 R2, SQL Server 2012, SQL Server 2014 and Windows AzureSQL Database
ODBC driver 13支持Microsoft SQL Server 2008, SQL Server 2008 R2, SQL Server 2012, SQL Server2014, SQL Server 2016 (Preview), Analytics Platform System, Azure SQL Databaseand Azure SQL Data Warehouse.
比如我的是sql server 2008 R2和php5.5
選擇可以選擇的SQLSRV為3.1或3.2版本摊崭,對(duì)應(yīng)的ODBC driver時(shí)ODBC driver11炊琉,ODBC drive11支持的sql server中有sql server 2008 R2垮衷,所以最后選擇的是ODBC driver 11和SQLSRV3.1或3.2
今天徒弟的機(jī)子上的環(huán)境是sql server 2016和php7
所以選擇的是ODBC driver 13和SQLSRV4.0
選好后下載相應(yīng)的文件厅翔,下載地址如下:
ODBC Driver 11 for sql server下載地址https://www.microsoft.com/en-us/download/details.aspx?id=36434
ODBC Driver 13 for sql server下載地址https://www.microsoft.com/en-us/download/details.aspx?id=50420
SQLSRV下載地址https://www.microsoft.com/en-us/download/details.aspx?id=20098
第二步:安裝PHP擴(kuò)展
新建一個(gè)php文件輸入在瀏覽器里運(yùn)行php文件,找到PHP Extension Build選項(xiàng)
可以看到它的值里有TS或者NTS搀突,記錄下來
查看php擴(kuò)展路徑打開php安裝目錄下的php.ini文件搜索extension_dir
查看它的值如下
![](http://upload-images.jianshu.io/upload_images/1417311-ad67e9cedba0c4e4.png)
雙擊下載下來的SQLSRV文件刀闷,
隨便解壓到一個(gè)路徑下,解壓后打開目錄,選擇里面的
php_pdo_sqlsrv_55_ts.dll和
php_sqlsrv_55_ts.dll兩個(gè)文件甸昏,其中的55是php版本號(hào)5.5顽分,ts是PHP Extension Build選項(xiàng)里得出的,我本地環(huán)境是TS施蜜,如果你的是NTS則選擇的是NTS文件
把選中的兩個(gè)文件復(fù)制到php擴(kuò)展路徑下卒蘸,如C://xampp/php/ext
在php.ini文件里加上如下兩行
其實(shí)就是你剛才復(fù)制的兩個(gè)文件,其中的數(shù)字55和ts可能有所不同
保存配置文件翻默,重啟服務(wù)器apache缸沃,運(yùn)行剛才的腳本看是否有PDO_SQLSRV
如下:
若有那么恭喜你成功了第二步
第三步:安裝驅(qū)動(dòng)器,設(shè)置sql server
雙擊安裝下載下來的ODBC driver文件修械,安裝完成后設(shè)置sql server
打開sql server management studio使用sql server的用戶名和密碼登錄
若不能登錄則使用windows系統(tǒng)登錄趾牧,對(duì)著服務(wù)器名右鍵->屬性->安全性,選中”sql
server和windows身份驗(yàn)證模式”
![](http://upload-images.jianshu.io/upload_images/1417311-fbbef3c77ec9bf1c.png)
保存肯污,
點(diǎn)擊安全性->登錄名 對(duì)著用戶名(sa)右鍵->屬性->常規(guī)更改密碼翘单,狀態(tài)里選擇授予和登錄
保存編輯
重啟sql server服務(wù)看是否可以用賬號(hào)密碼登錄,直到可以登錄未止仇箱。
打開SQL SERVE R配置管理工具:
點(diǎn)擊sql server網(wǎng)絡(luò)配置協(xié)議在右側(cè)啟動(dòng)TCP/IP县恕,對(duì)TCP/IP右鍵->啟動(dòng),右鍵->屬性->IP地址剂桥,在最下方的IPALL里的TCP發(fā)端口改為1433
保存忠烛,同時(shí)對(duì)客戶端協(xié)議做同樣的操作,重啟sql server服務(wù)
到此第三步完成
測(cè)試:新建PHP文件权逗,輸入如下代碼:
替換其中的serverName美尸,UID,PWD斟薇,Database
ServerName是sql server的實(shí)例名师坎,UID是登錄名,PWD是密碼.運(yùn)行腳本可以知道是否鏈接成功
已經(jīng)從sql?server數(shù)據(jù)庫(kù)里讀出數(shù)據(jù)了
另有一個(gè)坑堪滨,那就是亂碼胯陋,sql server不支持utf8格式,而我個(gè)人寫html和php時(shí)比較喜歡使用utf8格式袱箱,所以出現(xiàn)了亂碼遏乔,網(wǎng)上的教程大多使用格式轉(zhuǎn)換函數(shù)來解決,還是有點(diǎn)麻煩发笔,所以直接把php腳本的編碼方式設(shè)置為GDB2312類型盟萨,在php腳本文件里設(shè)置編碼方式為GBK類型就解決了
博客地址http://www.cnblogs.com/scarecrowlxb/p/6204101.html
二〇一六年十二月二十日星期二
梁小兵