当前位置:操作系统 > 玩转网络 >>

在Linux中访问MSSQL(PHP版)

答案:

Linux——IBM PC SERVER 330, RedHat 6.2,Apache 1.3.20 + PHP 4.0.6
Win2k Server——DELL 4400, SQL SERVER 7.0
任务:公司图书馆的数据库系统采用MSSQL,WEB服务器我选了LINUX(硬件老啊),为了给全体职工提供在线图书查询,需要在LINUX中增加PHP模块,访问MSSQL。
解决过程:
找啊找啊找啊找,找到下面这篇E文,很好,居然一把搞定。
但是,我仔细看了PHP 4.X给的E文MANUAL,发现PHP是有MSSQL数据库访问支持的,那就是用它的DBX,如果你成功安装了下面的Freetds,你可以这样配置编译PHP:
./configure --prefix=/usr/local/php --enable-dbx --with-mysql --with-apxs=/usr/local/apache/bin/apxs --with-mssql=/usr/local/freetds --with-sybase=/usr/local/freetds --with-gd
make && make install
呵呵轻松搞定,很愉快哦。不想下载安装Freetds?只用DBX??不用我教了吧:)

adam@netcominfo.com
09-Jul-2001 08:57
Building PHP as a DSO for Apache 1.3.19 in Linux RedHat 6.0 to connect
to
WIN2000 Server running SQL Server 2000
========================================
What Do We Need:
================
* PHP Source 4.0.6
* Apache 1.3.19
* FreeTDS 0.51
* Dual Login Mode in SQL Server Enterprise Manager (Windows ONLY login
will
not work!)
Installation Procedure:
=======================
(1) Build Apache, enable Dynamic Shared Object (DSO)
gzip -dc apache_1.3.19.tar.gz | tar -xf -
cd apache_1.3.19
./configure --prefix=/usr/local/apacheso --enable-module=so
make && make install
(2) Build Freetds
tar -xzvf freetds-0.51.tgz
cd freetds-0.51
./configure --prefix=/usr/local/freetds --with-tdsver=4.2
--enable-dbmfix
make && make install
(3) Link Freetds library
edit /etc/ld.so.conf (or equivalant) add /usr/local/ftds/lib to
it
run ldconfig (located in /sbin/ldconfig in linux)
(4) Build PHP
gzip -dc php-4.0.6.tar.gz | tar -xf -
cd php-4.0.6
edit ext/sybase/config.m4, replace dbopen with dsdbopen
(in version 4.0.6 of PHP this in on line 27 of config.m4)
./configure --with-apxs=/usr/local/apacheso/bin/apxs
--with-mssql=/usr/local/freetds --with-sybase=/usr/local/freetds
--with-mysql --enable-track-vars
make && make install
cp php.ini-dist /usr/local/lib/php.ini (the location of this file
may differ for your installation)
(5) Hack PHP initialization file
edit /usr/local/lib/php.ini file, look for sybase.interface_file
directive
uncomment it and change the value to
"/usr/local/freetds/interfaces" (location where you installed
freeTDS)
(6) Hack freeTDS file
edit /usr/local/ftds/interfaces file, for MSSQL, you have to add
an entry like the following*:
mssqlconnection
query tcp tds4.2 IPADDRESS_OF_SQL_SERVER 1433
*Note: when writing PHP code, use the name
"mssqlconnection" for hostname,
so you would use something like:
$conn = "mssqlconnection";
$username = "myuser";
$password = "mypass";
$dbc = mssql_connect ("$conn",
"$username", "$password");
(7) Setup Apache httpd.conf file and run!
Do a check to see if everything is OK, by starting Apache.
Good LucK!!!
(作者:老顽童)

上一个:如何在你的Linux机器上安装运行Oracle
下一个:PHP自动更新新闻DIY

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,