-
Linux编译mssql扩展使用php连接sqlserver2008的使用步骤
1、安装配置freetds
wget http://mirrors.xmu.edu.cn/ubuntu/archive/pool/main/f/freetds/freetds_0.82.orig.tar.gz
tar zxf freetds_0.82.orig.tar.gz
cd freetds_0.82
./configure --prefix=/sxmobi/Software/common/freetds --enable-msdblib
make && make install
2、编译mssql扩展,假设PHP安装源码包为/usr/local/src/php-5.3.1
1) 进入模块源码目录,>cd /sxmobi/web/softbak/php-5.3.13/ext/mssql
2) 生成编译配置文件,>/sxmobi/Software/webserver/php/bin/phpize
3) 安装,>./configure --with-php-config=/sxmobi/Software/webserver/php/bin/php-config --with-mssql=/sxmobi/Software/common/freetds
4) >make
5) >make install
6) 把生成的mssql.so模块复制到PHP的扩展目录,修改php.ini,加入mssql模块
注:
在编译配置的时候可能会遇到找不到FreeTDS的错误:configure: error: Directory /usr/local/freetds is not a FreeTDS installation directory,按照官方的解释http://www.freetds.org/news.html
,PHP检测一些文件以确定FreeTDS是否安装,由于新版的FreeTDS不再安装这些文件,导致PHP编译失败。只需建立两个空文件即可。如下:
>touch /usr/local/freetds/include/tds.h
>touch /usr/local/freetds/lib/libtds.a
3、修改/etc/freetds/freetds.conf
[server2008]
host = 192.168.0.109
port = 1433
tds version = 7.0
client charset = utf8
4、测试连接
./tsql -S 192.168.0.109 -U 用户名 -P 密码 -D 数据库
如果可以有看到1>说明连接成功
输入sql语句
1>select * from table;
2>go