当前位置:Linux教程 - Php - 在LINUX中访问MSSQL(PHP版)

在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!!!

    有问题请email:rtds@371.net
    老顽童
    发布人:老顽童 来自: