最近因工作原因,要用安装sqlserver2012(传送门),摒弃掉mysql切换到sqlserver还真是很折腾人的,网上找的教程也都是断断续续的,总链接不成功,索性自己写一套经验。废话不多说,首先查看自己的PHP版本,php 在5.3以后便不再支持对SQL Server 的连接,所以这时需要ms提供的第三方扩展了,虽然php5.2提供的php_mssql.dll方法是可以连接到SQL Server 数据库的(这种连接就自己去查,网上还是比较多的),但是仅仅只是局限于SQL Server 2000。所以如果需要连接2005或者2008以上的版本,那么还是需要下载ms的扩展。先上我测试的版本:
1、本地环境简介:windows7 sp1 、PHP Version 5.5.17(ThinkPHP3.2)、sqlserver2012(我选择的是Express with Advanced Services版本即EXPRADV)
2、配置sql sever,让sa账户能登陆(传送门),并测试用SA账号能否登陆,一定要做到能登陆,否则不要往下进行
3、配置相应的PHP环境,我这里用的PHPstudy2014
4、到微软官网下载对应的dll,传送
5、解压到对应的ext文件夹,我的是C:\phpStudy\php55n\ext,修改php.ini,apache里面的php.ini最好也要修改,后面文件名根据实际情况填写,重启PHPstudy、
6、打开phpinfo.php查看是否支持sqlserver
因为我所用的是TP框架,测试连接是直接在入口index.php文件测试键入下面代码:
$coninfo=array("Database"=>"Guard","UID"=>"sa","PWD"=>"sa");//Guard、UID、PWD依次为数据库名、sa用户名、sa密码,根据个人配置修改即可
$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)
**注意:**如果遇到下图情况,是因为没有安装原生客户端,可自行官网下载,也可以点[这儿](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框架的话,再配一下数据库连接就行了,支持TP源生配置,如图*:
![ThinkPHP配置](http://upload-images.jianshu.io/upload_images/2926249-a5b626cd8e15ad84.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)