在Linux上安装freetds作为PHP连接SQL Server之dblib驱动方式详解

在Linux上安装freetds作为PHP连接SQL Server之dblib驱动方式详解


一、 freetds简介、安装、配置及使用

1. 什么是FreeTDS

FreeTDS是一个开源的程序库,可以实现在Linux系统下访问微软的SQL数据库! FreeTDS是TDS(表列数据流 )协议的再次实现。它可以被用在Sybase的db-lib或ct-lib库。它也包含一个ODBC的库。FreeTDS 以源码的形式被发布,几乎可以在任何操作系统上编译。

2. 安装FreeTDS

下载freetds,官网下载 :http://www.freetds.org/software.html

./configure –prefix=/usr/local –with-tdsver=7.1 –enable-msdblib 
make & make install

解释:–prefix 为设置FreeTDS的安装目录,–with-tdsver是设置TDS版本, –enable-msdblib为是否允许Microsoft数据库函数库 

freetds.conf 配置文件位置:/usr/local/freetds/etc目录下

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

为了解决中文乱码,输入并保存

client  charset   =   GBK

 

3. FreeTDS测试 

在安装目录的bin目录下可以找到tsql,查看状态:

./tsql  -C 

在Linux上安装freetds作为PHP连接SQL Server之dblib驱动方式详解_第1张图片

链接SQL Server数据库

./tsql -H 172.17.0.200 -p 1433 -U root -P 123456

 用命令能链接上mssql,就说明FreeTDS就安装成功了。

注意:如果你用了集成环境,一般会集成了该扩展,注意配置文件。

 

二、 安装PHP扩展(两种任选其一即可)

1. 编译安装PHP自带MSSQL扩展

PHP 5.4之后已经没有原生支持的SQL Server的驱动了,因此需要手动编译PHP源码的扩展添加对SQL Server的驱动支持。进入安装的PHP源码的目录对应的mssql扩展如:(如果你用的集成环境,在php.ini中直接配置mssql.so就可以)

cd /data/soft/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 install

在php.ini中配置好mssql.so,重启服务器后查看phpinfo。

在Linux上安装freetds作为PHP连接SQL Server之dblib驱动方式详解_第2张图片

2. 安装pdo_dblib扩展

cd php-5.4.39/ext/pdo_dblib
./configure
make
sudo cp modules/pdo_dblib.so /usr/lib64/php/modules/

在php.ini中配置好pdo_dblib.so,重启服务器后查看phpinfo。 

 

 

三、PHP连接原生代码

$this->db = new PDO ("dblib:host=$this->hostname:$this->port;dbname=$this->dbname","$this->username","$this->pwd");

如果实在搞不定乱码可以在代码中转码

$author = iconv('utf-8','GBK',$row['TRUE_NAME']);

 

你可能感兴趣的:(Linux自我修炼)