最近因工作原因切蟋,要用安裝sqlserver2012(傳送門),摒棄掉mysql切換到sqlserver還真是很折騰人的告嘲,網(wǎng)上找的教程也都是斷斷續(xù)續(xù)的,總鏈接不成功润梯,索性自己寫一套經(jīng)驗蓖谢。廢話不多說,首先查看自己的PHP版本镰惦,php 在5.3以后便不再支持對SQL Server 的連接,所以這時需要ms提供的第三方擴展了,雖然php5.2提供的php_mssql.dll方法是可以連接到SQL Server 數(shù)據(jù)庫的(這種連接就自己去查,網(wǎng)上還是比較多的)侥钳,但是僅僅只是局限于SQL Server 2000。所以如果需要連接2005或者2008以上的版本柄错,那么還是需要下載ms的擴展舷夺。先上我測試的版本:
1苦酱、本地環(huán)境簡介:windows7 sp1 、PHP Version 5.5.17(ThinkPHP3.2)给猾、sqlserver2012(我選擇的是Express with Advanced Services版本即EXPRADV)
2疫萤、配置sql sever,讓sa賬戶能登陸(傳送門),并測試用SA賬號能否登陸,一定要做到能登陸敢伸,否則不要往下進行
3扯饶、配置相應的PHP環(huán)境,我這里用的PHPstudy2014
4池颈、到微軟官網(wǎng)下載對應的dll尾序,傳送
微軟官網(wǎng)下載
留意支持版本的詳情,選擇對應版本下載躯砰,我本地php5.5所以選擇version3.2版每币、
5、解壓到對應的ext文件夾琢歇,我的是C:\phpStudy\php55n\ext兰怠,修改php.ini,apache里面的php.ini最好也要修改,后面文件名根據(jù)實際情況填寫李茫,重啟PHPstudy揭保、
6、打開phpinfo.php查看是否支持sqlserver
已經(jīng)支持
打開對應sqlserver擴展魄宏,把所有有關sqlserver的擴展都打開
因為我所用的是TP框架秸侣,測試連接是直接在入口index.php文件測試鍵入下面代碼:
$coninfo=array("Database"=>"Guard","UID"=>"sa","PWD"=>"sa");//Guard、UID娜庇、PWD依次為數(shù)據(jù)庫名塔次、sa用戶名、sa密碼名秀,根據(jù)個人配置修改即可
$conn=sqlsrv_connect($servern,$coninfo) or die ("連接失敗!");
if($conn){
echo "OK 励负!HELLO ELEPHANT<br />";
}else{
echo "Connection could not be established.<br />";
die( print_r(sqlsrv_errors(), true));
} ```
![TP入口文件測試](http://upload-images.jianshu.io/upload_images/2926249-8f9347b9c41eb73e.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
**注意:**如果遇到下圖情況,是因為沒有安裝原生客戶端匕得,可自行官網(wǎng)下載继榆,也可以點[這兒](http://pan.baidu.com/s/1i4JA3rf)直接下載
![](http://upload-images.jianshu.io/upload_images/2926249-5f2e7fabfa3f130b.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
###*再次測試,大功告成:*###
![測試成功](http://upload-images.jianshu.io/upload_images/2926249-4e13252ab158c394.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
*以上就是搭建php連接sqlserver的全部內容汁掠,如果也用TP框架的話略吨,再配一下數(shù)據(jù)庫連接就行了,支持TP源生配置考阱,如圖*:
![ThinkPHP配置](http://upload-images.jianshu.io/upload_images/2926249-a5b626cd8e15ad84.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)