网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.手工创建oracle数据库.
.安装好Oracle后SQL*Plus的操作初.
.Oracle中行迁移和行链接的清除及.
.详细讲解Oracle数据库10g RMAN的.
.Oracle 9i的备份和恢复机制.
.How to Install Orabm.
.关于Oracle数据库的性能优化心得.
.一个完整的Oracle rman备份恢复参.
.Oracle 9i 在 Red Hat Enterpris.
.Oracle 发布免费开发工具 Raptor.
.Windows下常见Oracle服务介绍.
.ORACLE 数据库备份技术.
.Oracle中捕获问题SQL语句.
.Oracle--树的使用(Connect By).
.显式游标范围大小和复杂间隔的相.
.Oracle常见错误代码的分析与解决.
.我用的是Redhat Linux,但是我的.
.清除冗余记录的SQL语句.
.从Oracle数据库到SQL Server数据.
.编译核心的方法.

整合Oracle 10g、Apache 2.0、Php 5

发表日期:2008-2-9


基本介绍 2004年7月13日,PHP 官方站点正式发布了 PHP 5。Oracle 在 2004 年 8 月公布将在拳头产品 Application Server 中提供对 PHP 的支持。先是在Oracle Application Server 10g (9.0.4) 提供 mod_php 模块,继而在Oracle Application Server 10g Release 2 (10.1.2) 中提供了 PHP 4.3的版本,接着Oracle JDeveloper 10g 也将提供对 PHP 扩展能力。相信,不久Oracle将正式支持 PHP 5。而随着 Oracle 技术社区的大力推广,也将有更多的开发人员利用 PHP 进行大型数据库引用的开发。 在 OTN 上已经有文档描述如何进行 10g / HTTPD 1.3/ PHP 4 的整合。所以这篇文档将描述如何整合 Oracle 10g、Apache (httpd 2)、PHP 5。便于快速的组建一个开发环境。假如您想对 PHP 的一些新功能(比如PDO)进行一下体验,那么本文可以作为一个开端。 Oracle、Apache、PHP三者之间的关系不妨借用一下这张示意图(原图地址):

整合Oracle 10g、Apache 2.0、Php 5   本文假定您的 Oracle 10g (服务器或者客户端)已经安装完毕。假如没有安装,请参考这篇文档: http://www.dbanotes.nethttp://oracle.chinaitlab.com/Install-Oracle10g-RHEL3.htm
确定自己的 Oracle 处于可用状态。 本文所拥的操作系统为 Fedora Core 3 Linux,Oracle 版本为10 R1 (10.1.0.2)。 下载所需文件:HTTPD 和 PHP 5 HTTPD - httpd://httpd.apache.org (目前的版本是 2.0.52) PHP 5 - http://www.php.net (最新版本是 5.0.2) 安装HTTPD 需要说明的是,现在 Apache 社区不推荐把 Apache 2.0 用在产品环境中.

[root@FC3 software]# tar -zxvf httpd-2.0.52.tar.gz
[root@FC3 software]# cd httpd-2.0.52
[root@FC3 httpd-2.0.52]# ./configure --prefix=/usr/local/apache \
                         --enable-module=so
[root@FC3 httpd-2.0.52]# make clean
[root@FC3 httpd-2.0.52]# make
[root@FC3 httpd-2.0.52]# make install
[root@FC3 httpd-2.0.52]# /usr/local/apache/bin/apachectl start
[root@FC3 httpd-2.0.52]# /usr/local/apache/bin/apachectl stop 安装说明:第三行指定 Apache 的架构独立的文件安装位置。同时指定将用模块的形式。 假如为了方便的话,可以创建两个脚本控制 Apache 的启动与关闭。 [root@FC3 ~]# vi /bin/startapache 添加如下内容:

#!/bin/sh
ORACLE_HOME=/u01/app/oracle/prodUCt/10.1.0/db_1

ORACLE_SID=TEST
eXPort ORACLE_HOME ORACLE_SID
echo Starting Apache
/usr/local/apache/bin/apachectl start
创建关闭 apache 的脚本:

[root@FC3 ~]# vi /bin/stopapache
添加如下内容:
#!/bin/sh
ORACLE_HOME=/u01/app/oracle/product/10.1.0/db_1

ORACLE_SID=TEST
export ORACLE_HOME ORACLE_SID
echo Starting Apache
/usr/local/apache/bin/apachectl stop
修改文件权限:
[root@FC3 ~] chmod +x /bin/startapache /bin/stopapache 安装 PHP 5

[root@FC3 software]# tar -xjf php-5.0.2.tar.bz2
[root@FC3 software]# cd php-5.0.2
[root@FC3 php-5.0.2]# export ORACLE_BASE=/u01/app/oracle
[root@FC3 php-5.0.2]# export ORACLE_HOME=$ORACLE_BASE/product/10.1.0/db_1
[root@FC3 php-5.0.2]# export ORACLE_SID=TEST
[root@FC3 php-5.0.2]# export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
[root@FC3 php-5.0.2]# export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
[root@FC3 php-5.0.2]# ./configure --with-apxs2=/usr/local/apache/bin/apxs \
                      --with-oci8=$ORACLE_HOME
[root@FC3 php-5.0.2]# make clean
[root@FC3 php-5.0.2]# make
[root@FC3 php-5.0.2]# make install
[root@FC3 php-5.0.2]# cp php.ini-dist /usr/local/lib/php.ini 安装说明:第三到七行其实有些罗嗦了,其目的是控制 root 用户的环境变量,其实也可以直接在 root 用户的.bash_profile文件中制定环境变量。当然了,也可以用 oracle 用户来进行 configure 与 make 。第八行中的 --with-oci8=$ORACLE_HOME 激活 oci8 支持。 接下来需要修改httpd.conf 文件的内容: [root@FC3 php-5.0.2]# vi /usr/local/apache/conf/httpd.conf 添加如下内容: LoadModule php5_module modules/libphp5.so
<IfModule mod_php5.c>
     AddType application/x-httpd-php .php
</IfModule> 重新启动 apache:
[root@FC3 ]# /bin/stopapache
[root@FC3 ]# /bin/startapache
测试 PHP 模块
测试 PHP 模块是否已经可用。当然是标准办法,写一个包含如下内容的PHP页面 info.php: <?php phpinfo(); ?> 从浏览器中查看该页面输出内容。
注重,该页面中的内容 Configure Command 那一行中的内容是否包括如下内容:

'--with-apxs2=/usr/local/apache/bin/apxs'
'--with-oci8=/u01/app/oracle/product/10.1.0/db_1' 注重:在测试之后,出于安全的考虑,请把该文件删除 测试 PHP 的 oci 写一个简单的页面测试 oci 是否可用 (Just a copy sample from OTN): <?php $db_conn = ocilogon( "scott", "tiger","TEST" ); $cmdstr = "select ename, sal from emp"; $parsed = ociparse($db_conn, $cmdstr);
ociexecute($parsed); $nrows = ocifetchstatement($parsed, $results); echo "<Html><head><title>Oracle PHP Test</title></head><body>";
echo "<center><h2>Oracle PHP Test</h2><br>";
echo "<table border=1 cellspacing='0' width='50%'>\n\<tr>\n";
echo "<td><b>Name</b></td>\n<td><b>Salary</b></td>\n</tr>\n"; for ($i = 0; $i < $nrows; $i++ )
{
    echo "<tr>\n";
    echo "<td>" . $results["ENAME"][$i] . "</td>";
    echo "<td>$ " . number_format($results["SAL"][$i],   2). "</td>";
    echo "</tr>\n"; } echo "<tr><td colspan='2'> Number of Rows: $nrows</td></tr></table>";
echo "<br><em>If you see data, then it works!</em><br></center></body></html>\n"; ?> 说明:上例中,scott/tiger分别为数据库的用户名字和密码,TEST为数据库连接串名字。
上一篇:orale的tnsping与TCP/IP的ping命令的比较 人气:897
下一篇:Oracle与DB2数据类型的对应 人气:752
浏览全部Oracle教程的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐