php7.0.10 mssql扩展,Linux下PHP支持MSSQL(SQL Server2000) | 学步园

Linux下PHP支持MSSQL(SQL Server2000)

1. 编译FreeTDS

# tar zxvf freetds-0.82.tar.gz

# cd freetds-0.82

//--with-tdsver=8.0是指安装tds 8.0版本(如果没有加这个参数,则按照默认编译为5.0。5.0连接数据库的端口是4000,而不是SQLServer的1433)

# ./configure --prefix=/usr/local/freetds --with-tdsver=8.0

# make

# make install

2. 编译PHP

使PHP支持MSSQL,可以使用两种方式,一种是直接编译进PHP,一种是编译成PHP可载入的模块。如果还没有编译安装PHP,建议使用前一种方式,因为这样PHP的执行速度快。如果已经安装了PHP,又嫌重新编译PHP麻烦,用后一种方式吧。

(1) 编译进PHP

如何编译PHP,请参考 php配置GD库(http://blog.csdn.net/wl3115/archive/2008/03/05/2148571.aspx)。要增加对MSSQL的支持,只要在编译参数上加上--with-mssql=/usr/local/freetds即可。

(2) 编译成模块

//进入php的源码目录、MSSQL模块源码目录

# cd /home/wxw/gd/php-5.2.5/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

在编译配置的时候可能会遇到找不到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

//将mssql.so添加到php.ini,路径在安装后会有提示

# vim /usr/local/php/lib/php.ini

extension = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/mssql.so"

# /usr/local/apache2/bin/apachectl restart

写个phpinfo()查看一下有没有mssql扩展

3. 中文问题

//在php.ini文件中加入mssql.charset = "GBK",读取正常,添加的时候用utf-8转gbk

# vim /usr/local/php/lib/php.ini

mssql.charset = "GBK"

4. 客户端测试(没多大意义)

//配置数据库连接信息,不用设置编码,就可以显示中文

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

[sqlserver]

host = 10.0.0.11

port = 1433

tds version = 8.0

//参数查看# tsql --help

# /usr/local/freetds/bin/tsql -H 10.0.0.11 -p 1433 -U ts -P tsst

1> use test

2> go

1> select * from tb

2> go

1> quit

5. 顺便提一下windows环境php中mssql扩展

1 把php.ini中的"extension=php_mssql.dll"前面的分号去掉

2 然后安装mssql的客户端或者复制ntwdblib.dll到system32中。(php压缩包里有)

然后在phpinfo()函数中看看没有mssql扩展。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值