Linux(Fedora)下freetds编译安装及编译php的mssql扩展

2014-11-24 18:19:55 · 作者: · 浏览: 0

.freetds编译


前言:编译安装phpmssql扩展时,提示Cannot find FreeTDS in known installation directoriesconfiguration无法成功,于是,开始折腾编译安装freetds


附:


FreeTDS是一组帮我们在Unix/Linux系统中连接SQLServerSybase数据库的开源librarySQLServerSybase同用TDS(Tabular Data Stream) 协议,所以这个开源的FreeTDS才可以同时支持它们。微软官方没有支持Unix/Linux的客户端及驱动,所以FreeTDS通常被用作很底层的驱动。




1.下载freetds的源码包ftp://ftp.ibiblio.org/pub/Linux/ALPHA/freetds/stable/freetds-stable.tgz


2.解压freetds并进入解压后的freetds包目录


3.执行如下命令安装:


$ ./configuration --with-tdsver=8.0 --prefix=/usr/local/freetds --enable-msdblib


$ make


$ make install


参数意义如下:


--prefix:指定freetds的安装目录


--with-tdsver:设置tds版本


--enable-msdblib:为是否允许Microsoft数据库函数


三个参数都不是必须的,但最好指定--prefix,--with-tdsver这两个参数


如果不指定--with-tdsver的话连接mssql时可能会连接失败,具体情况如下:


1.用tsql连接时,如果tsql参数或者freetds.conf里的servername没有指定tdsver时,会导致连接失败,如果编译时指定了--with-tdsver则无论tsql是否指定


tdsver都能连接成功


2.通过PHP扩展mssql.so连接时,无论编译时是否加--with-tdsver,都需要在freetds.conf里的servername里指定tdsver,否则无论如何都无法连接成功


4.配置数据库连接


1.配置文件在:/usr/local/freetds/etc/freetds.conf


2.配置数据库连接


[servername]