Web服务器部署02: Apache + PHP + Oracle

主题:Web服务器搭建;

一 基本环境部署方案简介
Apache和Php环境部署,已做了总结,请参考”Apach集成PHP”;
数据库选用Oracle11g2r;在本地需要安装服务端和客户端;

二 Oracle资源介绍
01 Oracle 服务端

资源列表:
11gR2_1of2.zip // 简称文件a
11gR2_2of2.zip // 简称文件b

安装方法:
解压文件a,b到同一个指定路径;如: D:/oracle/database 目录下;然后运行setup.exe即可。界面操作,网上有详细的操作;

注意事项:
1) 服务在注册表的运行路径;
OracleMTSRecoveryService 如果启动失败,则需要在注册表中查看其运行路径是否正确。
注册表路径:
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/services/OracleMTSRecoveryService
ImagePath的键值:
E:\app\Administrator\product\11.2.0\dbhome_1\BIN\omtsreco.exe “OracleMTSRecoveryService”

2) 检查关键服务是否存在
OracleDBConsoleorcl服务如果不存在或者没有启动,无法访问服务端的数据库;
解决方法:http://jingyan.baidu.com/article/a3761b2ba3eb571577f9aa47.html; 在cmd执行如下命令;
1)>>emca -repos drop
2)>>emca -repos create
3)>>emca -config dbcontrol db
4)>>set ORACLE_UNQNAME=ORCL
5)>>emctl start dbconsole

02 oracle客户端
//注:建议安装,目的是为了部署PHP+Apache+Oracle环境;

资源列表
win64_11gR2_client.zip // 可参考网上的客户端访问服务端的配置;
Web服务器部署02: Apache + PHP + Oracle_第1张图片

03 安装PL/SQL来访问oracle

资源列表:
plsqldev9.rar

三 PHP访问Oracle数据库
01 配置PHP环境

1) 设置php.ini对oci8的支持;
extension=C:\php5.5\ext\php_oci8_11g.dll ; Use with Oracle 11gR2 Instant Client
特别注意:此处写的是绝对路径,网上很多资料都只是写个文件名;差异在于:当php安装在根目录且文件名为php时,php脚本在应该能正确加载此dll;但是如果自定义文件名时,很有可能就会加载不到,使得脚本运行失败(此处,我的文件夹名为php5.5)
Web服务器部署02: Apache + PHP + Oracle_第2张图片

2) 拷贝php_oci8_11g.dll到windows的system32目录下;如果是64bit,还需要拷贝到C:\Windows\SysWOW64目录下;

四 环境测试成功实例
Web服务器部署02: Apache + PHP + Oracle_第3张图片


   /*************************************
   主题:PHP访问Oracle数据库
   *************************************/

   echo "Filename: oracle.php ";
// 连接方法1:
$conn = oci_connect('system','123456',"(DEscriptION=(ADDRESS=(PROTOCOL =TCP)(HOST=172.27.5.16)(PORT = 1521))(CONNECT_DATA =(SID=orcl)))");
// 连接方法2:
   //$conn = oci_connect('system','123456','172.27.5.16/orcl');
// 连接方法3:
   //set adocon=Server.Createobject("adodb.connection") 
   //adocon.open"Driver={microsoft odbc for oracle};server=oraclesever.world;uid=system;pwd=123456;"
// 连接方法4:
   //set adocon=Server.Createobject("adodb.connection") 
   //adocon.open"Provider=OraOLEDB.Oracle;data source=orcl;user id=system;password=123456;"

    $stmt = oci_parse($conn,"select * from customers");
    oci_execute($stmt);
    $nrows = oci_fetch_all($stmt,$results);

    echo $nrows;

    echo "\n";
    echo"\n";

    foreach($resultsas$key=> $val)
    {
        echo"\n";
    }
    echo"\n";

    for($i = 0;$i <$nrows;$i++)
    {
        echo"\n";
        foreach($resultsas$data)
        {
            echo"\n";
        }
        echo"\n";
    }
    echo"
$key
$data[$i]
\n"
; oci_close($conn); echo " end"; ?>

五 其他

01 Oracle服务启动列表
Web服务器部署02: Apache + PHP + Oracle_第4张图片
注:服务开启后,会对系统产生很大的负荷。手动类型的服务,在非必要情况,建议关闭;

你可能感兴趣的:(Web服务器部署02: Apache + PHP + Oracle)