Linux PHP5连接SQL Server 2000

发布于: 2008年11月01日

Windows下PHP连接SQL Server 2000 可以用一个”容易”来形容。

1.打开php.ini, 找到下面这行

;extension=php_mssql.dll

去掉前面的分号,变成

extension=php_mssql.dll

2.确认php.ini内extension_dir制定的目录里面有php_mssql.dll文件

3.重启web server

4.检查php_info() 确定有下面行:

5. Done

Linux下完成同样的事情稍显复杂一些,毕竟SQL Server 是 MS的东东。

1.需要额外安装一个叫“FreeTDS”的的开源软件,可以到http://www.freetds.org/下载最新版本,我下载时的最新版本为0.82, 文件名:freetds-stable.tgz, 该软件的官方说明是这样的:

FreeTDS is a set of libraries for Unix and Linux that allows your programs to natively talk to Microsoft SQL Server and Sybase databases.

2.解压安装命令:

tar zxvf freetds-stable.tgz

cd freetds-0.82

./configure –pre-fix=/usr/local/freetds –with-tdsver=7.0  //关于–with-tdsver,官方说明是: normally 5.0 for Sybase and 7.0 for Microsoft

make

make install

3. 测试freetds

用下面格式的命令:

/usr/local/freetds/bin/tsql -S servername -p port -U username -P password

测试看能否连接sql server

4.重新编译PHP, 我重新编译时,一般先php_info()看一下当前的编译条件,copy过来,再加上我需要添加的编译条件

./configure –你之前的编译条件 –with-mssql=/usr/local/freetds

5. 编译错误排除,我在编译的时候出现下面错误

configure: error: Directory /usr/local/freetds is not a FreeTDS installation directory

需要新建两个文件:
$ touch /usr/local/freetds/include/tds.h
$ touch /usr/local/freetds/lib/libtds.a

6. make & make install

7. 重启web server

PHP测试,用下面代码:
<?php
$msserver=your server;
$msuser=Your Username;
$mspass=Your Password;
$msdb=mssql_connect($msserver,$msuser,$mspass) or die(“Connect MSSQL Fail!”);
echo “Connect MSSQL Successful!”
?>

目前,我还有字符编码的问题需要解决。唉…数据库的字符编码是最头疼的问题之一了。

本文为寻找人生的起点(http://blog.cn-ic.org)原创,如需转载,请注明出处,并保留原文链接 http://blog.cn-ic.org/?p=146。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理

浙ICP备18056264号-1