Tag Archives: freetds

Centos下添加PHP对MSSQL的支持

其实很少会有连接SQL Server的机会,不过我们公司刚好有个应用需要使用的SQL Server的数据库,所以也知道给LNMP安装MSSQL的扩展。
搜索网上的相关文章一般的解决方案是Freetds,Freetds的主要功能就是让Linux系统可以访问SQL Server服务。

安装Freetds

Freetds 官方网站是 http://www.freetds.org,可以去官方网站下载程序,文中下载的是0.92.79版本。

wget ftp://ftp.freetds.org/pub/freetds/stable/freetds-0.92.79.tar.gz

然后解压,并且编译安装

tar -zxvf freetds-0.92.79.tar.gz
cd freetds-0.92.79
./configure --prefix=/usr/local/freetds
gmake
gmake install

安装完成后可以使用命令测试下

/usr/local/freetds/bin/tsql -S 192.168.0.10:1433 -U sa

安装PHP的MSSQL扩展

本服务器使用的是lnmp集成环境,php是5.3.21;如果是单独安装php的也一样;先进入下载加压后的PHP文件目录,然后编译安装

cd /data/lnmp0.9-full/php-5.3.21
cd ext/mssql
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config --with-mssql=/usr/local/freetds
make
make install

随后在php.ini中添加扩展

vim /usr/local/php/etc/php.ini

在最后加入一行

extension = "mssql.so"

最后重启php即可

配置Freetds

vim /usr/local/freetds/etc/freetds.conf

在文件中加入以下语句

[sqlservername]
host = 192.168.0.10
port = 1433
tds version = 7.0
client charset = UTF-8

PHP中测试连接

新建一个php文件,放入以下代码

$conn = mssql_connect("sqlservername", "sa", "password") or die ("无法连接");
echo $conn;

现在你的php已经完全支持连接SQL Server了。