使用PHP5 通过unixODBC/easysoft oracle odbc driver 连接 ORACLE

本文介绍了在RedHat Linux EL4环境下,使用PHP5、apache、unixODBC和easysoft的Oracle ODBC驱动来连接Oracle 10gr2数据库的详细步骤,包括各组件的安装、配置和环境变量设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

环境说明:RedHat Linux EL4
          apache 2.0.55
          php 5.1.2
         
          unixODBC 2.2.9
          easysoft oracle driver: odbc-oracle-3.0.0-linux-x86-glibc
          ORACLE 10gr2

    通过PHP连接oracle 数据库,笔者选择了 easysoft的odbc driver作为中间件,据说比oracle 自身的优秀,本文只说安装,没有任何对比,仅供参考

    1、apache 2.0.55安装:此处编译安装到/www 目录,其他略
    2、unixODBC 安装
        由于PHP 编译需要unixODBC 的头文件,所以需要安装unixODBC devel和unixODBC库
        从RHEL4光盘的第3和第4张分别查找到 unixODBC-devel-2.2.9-1.i386.rpm 和 unixODBC-2.2.9-1.i386.rpm
        执行:
            rpm -ivh unixODBC-2.2.9-1.i386.rpm
            rpm -ivh unixODBC-devel-2.2.9-1.i386.rpm
            (建议执行前通过 rpm -qa|grep unixODBC 查找一下,是否已经安装)

    3、php 5.1.2 安装
        下载 php-5.1.2.tar.gz 依次执行:
            tar zxvf php-5.1.2.tar.gz
            cd php-5.1.2
            ./configure --prefix=/www/php --with-apxs2=/www/bin/apxs --with-zlib --with-mysql=/usr/lib/mysql --enable-soap --enable-sockets --with-gd         --with-libxml --with-unixODBC=/usr --with-dom=/usr --with-dom-xslt=/usr --with-dom-exslt=/usr --with-xmlrpc=shared
               (根据需要添加,重点在 --with-unixODBC=share,/usr)
            make
            make install
   
    4、easysoft oracle driver 安装
        从www.easysoft.com 下载 driver 安装包:odbc-oracle-3.0.0-linux-x86-glibc.tar
        依次执行:
            tar xvf odbc-oracle-3.0.0-linux-x86-glibc.tar
            cd odbc-oracle-3.0.0-linux-x86-glibc
            ./install  (默认安装到:/usr/local/easysoft)
        按提示执行,基本上都是Yes,当提示是否使用其自身携带的unixODBC时,可选否,使用系统已经安装的。
        由于此driver 涉及到License问题,可以根据提示获取一个license
        此时在  /usr/local/easysoft/license/ 产生名为 license.out的文件,执行:
            mv license.out license
        如不产生License则无法运行

    5、修改/etc/odbc.ini 以下为示例
 [Data Sources]
 ips = Oracle ODBC Driver DSN

 [default]
 Driver = /usr/local/easysoft/oracle/libesoracle.so

 [test]
 Driver = /usr/local/easysoft/oracle/libesoracle.so

 Description = Oracle
 server = 10.3.7.7
 ServerType = Oracle
 Port = 1521
 User = hunter
 Password = hunterpass
 Database = ORCL.CCPUIPS.COM
 SID = orcl.ccpuips.com
 METADATA_ID = 0
 ENABLE_USER_CATALOG = 1
 ENABLE_SYNONYMS = 1

 [default]
 Driver = /usr/local/easysoft/oracle/libesoracle.so

    6、修改/etc/odbcinst.ini
 [test]
 Descriptions = ODBC for Oracle
 Driver = /usr/local/easysoft/oracle/libesoracle.so
  
    7、修改$ORACLE_HOME/netword/admin/tnsnames.ora (根据需要安装Oracle客户端),如下为示例:
 ORCL =
   (DESCRIPTION =
     (ADDRESS = (PROTOCOL = TCP)(HOST = HunterZhao.com)(PORT = 1521))
     (CONNECT_DATA =
       (SERVER = DEDICATED)
       (SERVICE_NAME = orcl.hunter.com)
     )
   )
     8、修改$ORACLE_HOME/netword/admin/tnsnames.ora (根据需要安装Oracle客户端),如下为示例:
  NAMES.DIRECTORY_PATH=(TNSNAMES,ONAMES,HOSTNAME)
 
     9、修改/www/conf/httpd.conf 增加ORACLE的环境变量
  SetEnv ORACLE_BASE /u01/oracle10g
  SetEnv ORACLE_HOME /u01/oracle10g/home10g
  SetEnv ORACLE_SID orcl
  SetEnv LD_LIBRARY_PATH  /usr/local/easysoft/unixODBC/lib:/usr/local/easysoft/lib:/u01/oracle10g/home10g/lib

     10、修改$ORACLE_HOME的权限,使得外部用户可以访问$ORACLE_HOME目录中的内容。
     11、启动apache :
    /www/bin/apachectl start

     到此,理论上应该成功:)

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值