FreeBSD下PHP连接Microsoft SQL Server的办法

发表于:2007-07-01来源:作者:点击数: 标签:
本人的系统配置:freebsd 4.9 apache 2.48 php 4.3.4 freetds 0.62.3 一、相关软件 freetds 来源: 官方网站 http://www.freetds.org/ freetds0.62.3.tar.gz http://gd.tuwien.ac.at/visual/ibiblio/ALPHA/freetds/stable/ 或者在gogole上搜索. 这个软件能够

本人的系统配置:freebsd 4.9
apache 2.48
php 4.3.4
freetds 0.62.3
一、相关软件

freetds 来源:
官方网站
http://www.freetds.org/
freetds0.62.3.tar.gz
http://gd.tuwien.ac.at/visual/ibiblio/ALPHA/freetds/stable/

或者在gogole上搜索.

这个软件能够用LinuxUnix连接MS SQLServer和Sybase数据库

二、安装配置步骤
第一步:编译安装freetds:
tar zxvf freetds-0.62.3.tar.gz(解压)
./configure –prefix=/usr/local/freetds --with-tdsver=8.0 --enable-msdblib
make
make install

第二步:重新编译PHP4
./configure [--with-apxs... --with-mysql...] ---enable-dbx(可选)
--with-mssql=/usr/local/freetds
make
make install

第三步:配置freetds
ee /usr/local/freetds/etc/freetds.conf
去掉相关的注释
# A typical Microsoft SQL Server 2000 configuration
[MyServer2k]
host = 192.168.101.2 (你的SQLServer机器名字或者IP地址)
port = 1433
tds version = 8.0

在这个配置文件中可以配置Windows域登陆或者SQLServer账号登陆两种方式
用phpinfo(),可以查看到如下信息:
mssql
MSSQL Support enabled
Active Persistent Links 0
Active Links 0
Library version 7.0

Directive Local Value Master Value
mssql.allow_persistent On On
mssql.batchsize 0 0
mssql.compatability_mode Off Off
mssql.connect_timeout 5 5
mssql.datetimeconvert On On
mssql.max_links Unlimited Unlimited
mssql.max_persistent Unlimited Unlimited
mssql.max_procs 25 25
mssql.min_error_severity 10 10
mssql.min_message_severity 10 10
mssql.secure_connection Off Off
mssql.textlimit Server default Server default
mssql.textsize Server default Server default
mssql.timeout 60 60

第五步:在php中建立数据库连接

<?php
            = dbx_connect (mssql, "服务器", "数据库名", "用户", "密码")
or die ("Could not connect");
print("Connected suclearcase/" target="_blank" >ccessfully");

dbx_close(            );
?>

或者
<?php
            =mssql_connect("sqlserver",$your_username,$your_password) or die (“can’t Connect to Database”);
echo             ;
?>

在浏览器中运行上面脚本, 如果你得到一个link号那么恭喜,你已经配置好了,如果出现Call to undefined function: mssql_connect() 那说明仔细看上面的安装配置过程看你哪一步没有对。
注意:sqlserver名称是在/usr/local/freetds/etc/freetds.conf中定义的host参数,如果你写的IP地址,就是IP地址。
第六步:调试
如果出现不能连接,请在freetds配置文件中找到;dump file = /tmp/freetds.log这一行,注释掉前面的分号,再执行一下测试脚本,察看/tmp/freetds.log文件,它可以告诉你很多出错的信息帮助你排除问题

原文转自:http://www.ltesting.net