网站服务器要换Linux平台,然而由于种种原因吧,数据库还是得沿用老的MS SQLServer,而以前在windows下PHP是使用的MSSQL扩展库php_mssql.dll连接的(即添加extension=php_mssql.dll 到 php.ini文件即可)。查看PHP官方手册得知,如果要想在Linux下使用MSSQL函数的功能,则必须使用第三方的软件。这里我使用的是PHP手册上推荐的FreeTDS扩展库,下载在http://ibiblio.org/pub/Linux/ALPHA/freetds/stable/。 首先安装freetds #tar -xzvf freetds-0.63RC10.tar.gz #./configure --enable-msdblib --prefix=/usr/local/freetds #make #make install 配置freetds #cd /usr/local/freetds #vi etc/freetds.conf 修改以下的一段,并把;去掉 改好之后的内容: [MyServer2k] host=192.168.27.20 port=1433 tds version=8.0 其中的[MyServer2k]代表在客户端使用的服务器名称,host代表SQLServer服务器的IP地址,port代表端口 测试连接 #bin/tsql -S MyServer2k -H 192.168.27.20 -p 1433 -U sa -P sa 1> use tbit_mcp 2> go 1> select count(*) from t_service 4 1> quit 通过上面的操作,我们发现已经可以在Linux下访问MS的数据库咯 现在来说明以下这些参数的作用,-S MyServer2k是在freetds.conf中定义好的,-H 192.168.27.20服务器IP地址,和freetds.conf中的一致,如果使用了-S参数,这个参数可以不用,-p 1433用来指定端口是1433 ,–U sa用来指定连接数据库的用户名,-P sa用来指定连接数据库的密码。 这样FreeTDS就配置完毕了 接着下载安装php http://cn2.php.net/get/php-4.3.10.tar.gz/from/a/mirror php-4.3.10.tar.gz 使用tar命令解压 #tar -xzvf php-4.3.10.tar.gz #cd php-4.3.10 #./configure --with-mysql --with-apxs2=/www/bin/apxs --with-mssql=/usr/local/freetds #make #make install 注:--with-mssql=后面是tds的安装路径 重新运行apache,设置连接数据库的PHP页面如下 # vi dbconn.php <?php $hostname = "192.168.27.20:1433"; //MSSQL Server,注意一定要注明1433端口号,否则将无法连接 $dbuser = "sa"; //用户名 $dbpasswd = "sa"; //密码 $gPageSize= 3; //每页显示的记录数 //连接数据库 $db_id = mssql_connect($hostname,$dbuser,$dbpasswd) or die("无法连接数据库服务器!"); $db = mssql_select_db("tbit_mcp",$db_id) or die("无法连接数据库!"); //执行查询语句 $query = "select * from t_service order by service_id DESC"; $result = mssql_query($query); ……其它我就不再多写了,这样我们就可以在Linux环境下使用PHP+FreeTDS访问MS SQLServer数据库啦! |