下载 FreeTDS
# wget ftp://ftp.freetds.org/pub/freetds/stable/freetds-patched.tar.gz
# tar -zxvf freetds-patched.tar.gz
# cd freetds-0.95
需要注意的就是这里的--with-tdsver=7.3,这个非常重要,你需要根据你的数据库版本选择正确的配置项,由于现在大多是SQLserve2008所以需要选择7.3. 我自己的是2016选是7.4
http://www.freetds.org/userguide/choosingtdsprotocol.htm具体参考这个网站
http://www.freetds.org/files/stable/ 下载最新的
# ./configure --prefix=/usr/local/freetds --with-tdsver=7.4 --enable-msdblib
# make && make install
配置FreeTDS
# cd ../
# echo "/usr/local/freetds/lib/" > /etc/ld.so.conf.d/freetds.conf
# ldconfig
编译的安装位子 和配置文件的安放
验证FreeTDS版本
这一步非常重要,通过才可以继续,不然后面的步骤都是无意义的。
首先看看版本信息
# /usr/local/freetds/bin/tsql -C
测试数据库是否联通
# /usr/local/freetds/bin/tsql -H 数据库服务器IP -p 端口号 -U 用户名 -P 密码
/usr/local/freetds/bin/tsql -H 127.0.0.1 -p 1433 -U sa -P '123'
出现>1 说明ok 如果数 字上涨说明有问题
关于freetds/etc/freetds.conf配置项
很多其他帖子写了需要配置/usr/local/freetds/etc/freetds.conf,其实这个不需要配置。如果配置也可以,配置了PHP就可以调用这个配置项,否则需要PHP代码里指定数据库服务器信息即可。
另外需要注意的是/usr/local/freetds/etc/下的freetds.conf不同于前面/usr/local/freetds/lib/那个freetds.conf。
如果配置了这里,那么PHP页面就可以使用这里的配置,不然PHP页面指定一样可以。
其他都不用动,关于[egServer70]的名字也是随意的,这个就是给PHP调用的,和PHP代码里一致即可。
安装pdo
增加PHP扩展pdo的pdo_dblib
cd /usr/php-5.5.28/ext/pdo_dblib/
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config --with-pdo-dblib=/usr/local/freetds/
根据自己的php安装目录来确定位子
make && make install
cp /usr/local/php/lib/php/extensions/no-debug-zts-20131226/pdo_dblib.so /usr/local/php/extension/pdo_dblib.so(此处根据个人配置)
在php.ini中添加extension = "mssql.so" 或 extension ="pdo_dblib.so" (安装一个足够了)
ok了
就重启php 就可以读出数据
我使用的是yii2 所以这样配置 linux的
如果是win 的话 (需要安装不同的驱动)
这样完成查询