关于在freebsd下PHP连接Microsoft SQLServer的方法,我曾在论坛上请教过各位元老.并且找了好久,都找不到一个很准确的教程.现在我终于搞清楚这个问题了.为了不让其他人再走我所走过的弯路,现整理了此教程.如下:
一.配置Apache服务.
软件来源:http://apache.linuxforum.net/dist/httpd/httpd-2.0.47.tar.gz
下载此软件至:/usr/local/src下.(按我个人习惯装下载软件所建的文件夹)
接着,执行如下命令:
www#cd /usr/local/src
www#tar –zvxf httpd-2.0.47.tar.gz
www#cd httpd-2.0.47
www#./configure --prefix=/usr/local/apache --enable-so
www#make
www#make install
下面请自行修改apache的配置文件httpd.conf,这里就不多说.
二.配置freetds(注:配置freetds一定要先于PHP)
软件来源:ftp://202.96.64.158/pub/freetds-0.61.tgz
下载此软件至:/usr/local/src下
接着,执行如下命令:
www#cd /usr/local/src
www#tar –zvxf freetds-0.61.tgz
www#cd freetds-0.61
www#mkdir /usr/local/freetds
www#./configure --prefix=/usr/local/freetds/ --with-tdsver=7.0
(--with-tdsver=7.0 指安装tds 7.0版本)
www#make
www#make install
三.配置PHP
软件来源:http://smokeping.planetmirror.com/pub/php/distributions
/php-4.3.2.tar.bz2
下载此软件至:/usr/local/下.
接着,执行如下命令:
www#cd /usr/local
www#tar –zvxf php-4.3.2.tar.bz2
www#mv php-4.3.2 php
www#cd php
www#./configure --prefix=/usr/local/php --enable-dbx --with-mysql
--with-apxs2=/usr/local/apache/bin/apxs
--with-config-file-path=/usr/local/apache/conf
--with-sybase=/usr/local/freetds --with-gdz
www#make
www#make install
四.配置freetds
vi /usr/local/freetds/etc/freetds.conf
具体配置见该文件中的说明
例: (典型配置)
[sqlserver]
host = sql_server_name_or_host_ip(你的SQLServer机器名字或者IP地址)
port = 1433
tds version = 7.0
五.配置PHP
www#cp php.ini-dist /usr/local/apache/conf/php.ini
www#vi php.ini
将:register_globals = Off
改成:register_globals = On
六.在php中建立数据库连接
$link=mssql_connect("sqlserver",$your_username,$your_password)
or die (“can’t Connect to Database”);
echo $link;
在浏览器中运行上面脚本, 如果你得到一个2,那么恭喜,你已经配置好了,的
如果出现Call to undefined function: mssql_connect() 那说明,仔细看上面
安装配置过程看你哪一步没有对。
注意:sqlserver名称是在/usr/local/freetds/etc/freetds.conf中定义的
host参数,如果你写的IP地址,就是IP地址.
其他数据库操作参考相关mssql函数.
强烈注意:本人使用的是windows2003server操作系统.而在此系统上
sqlserver 的端口不被侦听.所以给我造成诸多困扰.也就是按照上述配置好一 切后.PHP仍然无法连接sqlserver.当您也遇到此种情况时,不要紧张.来这里:
http://www.microsoft.com/china/s ... 过程安装即可.
好了,全都写完了,如果各位大侠发现什么问题.请指教! |