您的位置:首页 > 数据库 > Oracle

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

2006-04-19 17:35 603 查看
环境说明: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

到此,理论上应该成功:)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: