一、简介
SQL Server是由Microsoft开发和推广的关系数据库管理系统(DBMS),它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的,并于1988年推出了第一个OS/2版本。Microsoft SQL Server近年来不断更新版本,1996年,Microsoft 推出了SQL Server 6.5版本;1998年,SQL Server 7.0版本和用户见面;SQL Server 2000是Microsoft公司于2000年推出,目前最新版本是2017年份推出的SQL SERVER 2017。
二、安装说明
我们建议phper使用pdo方式连接数据库,pdo可以为你屏蔽数据库之间的繁琐的语句差异,让我们的代码变得更加简洁
php要连接mssql数据库,需要安装以下扩展和依赖程序进行支持:
1:安装freetds程序
2:安装php扩展pdo-dblib
dblib是数据库元件库,该库是基于sqlser修改的数据库驱动,包含了连接mssql数据库的函数库
FreeTDS 是一个开源的程序库,是TDS(表列数据流 )协议的再次实现。它可以被用在Sybase的db-lib或者ct-lib库。它也包含一个ODBC的库。允许许多开源的应用软件比如Perl和PHP(或者你自己的c或C++程序)去连接到Sybase或 Microsoft SQL服务器
三、安装freetds程序
3.1:下载freetds源码压缩包
mkdir -p /home/www/freetds/source
cd /home/www/freetds/source
wget http://wjh-oss-prod.oss-cn-shenzhen.aliyuncs.com/oss/admin/freetds-1.2.3.tar.gz //可以到官网下载最新包
3.2:编译安装freetds程序
tar -zxvf freetds-1.1.23.tar.gz
cd freetds-1.1.23
./configure
--prefix=/usr/local/freetds //注意,该目录很重要,后面编译php-dblib扩展的时候会用到
--with-tdsver=7.4 //这个地方是数据版本号, 最新的是8.0, 使用最多的是7.0+, 如果版本报错可以换个版本重新编译
--enable-msdblib
--enable-dbmfix
--with-gnu-ld
--enable-shared
--enable-static
make
make install
四、安装php-dblib扩展
这里使用源码编译安装,你也可以根据实际情况选择apt或者yum安装
cd /home/www/php/source/php-7.2.17/ext/pdo_dblib
phpize
./configure --with-php-config=php-config
make
make install
dblib不是mssql的100%全功能,不支持limit命令, 所以无法使用mssql的分页功能,但是这并不影响我们使用mssql的其它功能
五、可能遇到的问题
问题:在源码编译php扩展的时候遇到以下问题
编辑
我们明明已经装了freetds啊,为啥找不到呢? 既然报错那我们就找报错的代码行,该报错位置在扩展目录下的config.m4文件,报错代码行如下图:
编辑
这里有个php扩展源码的配置bug,在配置文件里面配置的freetds依赖路径有问题,所有找不到我们安装的freetds。
解决:修改config.m4文件,添加我们自己的freetds安装路径,如下图:
编辑
修改过config.m4文件后,需要重新执行 phpize生成新的配置文件,再次编译顺利通过