# 下载 freetds,可下载最新 ftp://ftp.freetds.org/pub/freetds/stable/freetds-patched.tar.gz $ wget ftp://ftp.freetds.org/pub/freetds/stable/freetds-0.95.92.tar.gz # 解压 $ tar -zxvf freetds-0.95.92.tar.gz # 进入解压后的目录,注意版本号 $ cd freetds-0.95.92 # 查看当前支持的 tdsver 版本,选择对应支持的 MSSQL 版本 $ ./configure --help # 重编译安装,注意 tdsver 版本 $ ./configure --prefix=/usr/local/freetds --enable-msdblib --with-tdsver=7.3 $ make && make install
注:MS官网的速度太慢,可直接进FTP下载文件包后上传到服务器进行安装。
针对上述命令行中一些简单注释:
--prefix=/usr/local/freetds FreeTDS的默认安装目录 /usr/local/freetds --enable-msdblib 允许 Microsoft 的函数库--with-tdsver=7.3 指定TDS的协议版本,不填写则默认5.0版,7.3支持MSSQL2008。
$ vi /usr/local/freetds/etc/freetds.conf # 针对 MSSQL 修改配置 # A typical Microsoft server [mssql_test] # 这是MSSQL服务器IP/端口号 host = 1.2.3.4 port = 1433 tds version = 7.3 client charset=UTF-8 #确保中文无乱码
检测是否成功:
$ cd /usr/local/freetds/bin $ ./tsql -CCompile-time settings (established with the "configure" script) Version: freetds v0.95.92 freetds.conf directory: /usr/local/freetds/etc MS db-lib source compatibility: yes Sybase binary compatibility: no Thread safety: yes iconv library: yes TDS version: 7.3 iODBC: no unixodbc: no SSPI "trusted" logins: no Kerberos: no OpenSSL: no GnuTLS: no更详细的的配置可官方文档:http://www.freetds.org/userguide/config.htm
尝试连接MSSQL
进入 freetds 安装目录,执行如下命令:
深度连接:
$ cd /usr/local/freetds/bin $ ./tsql -H 192.168.0.254 -p 1433 -U sa -P 123456# 进入mssql模块源码目录 $ cd php-5.4.41/ext/mssql # 生成编译配置文件 $ /usr/local/php/bin/phpize # 编译安装 $ ./configure --with-php-config=/usr/local/php/bin/php-config --with-mssql=/usr/local/freetds $ make && make installmake install 之后的运行结果:
$ vi /usr/local/php/etc/php.ini # 启用如下,如无则添加。(在vi状态中可使用 /extension 来搜索,按n搜索下一项) extension = "mssql.so"