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
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。