WEB开发网
开发学院数据库Oracle 安装PHP和Oracle 10g即时客户端 阅读

安装PHP和Oracle 10g即时客户端

 2007-06-02 16:02:05 来源:WEB开发网   
核心提示:要检查是否配置了扩展,请在 web 服务器可以读取的地方创建一个简单的 PHP 脚本,安装PHP和Oracle 10g即时客户端(2), <?php phpinfo();?>使用“http://”URL 将此脚本加载到浏览器中,浏览器页面应包含一个显示“OCI8 Supp

要检查是否配置了扩展,请在 web 服务器可以读取的地方创建一个简单的 PHP 脚本。

<?php 
phpinfo();
?>

使用“http://”URL 将此脚本加载到浏览器中。浏览器页面应包含一个显示“OCI8 Support enabled”的“oci8”部分。

在 Linux 上启用 PHP OCI8 扩展

要在 Linux 上添加 Oracle 连接,需要重新编译 PHP

开放源代码开发人员中心包含有用背景资料的链接,如在 Linux 上安装 Oracle、PHP 和 Apache,它介绍了如何安装传统、完整的 Oracle 10g 版本(Instant Client 不需要此版本)。

  1. 下载并安装 Apache。例如,在您的主目录中安装它:
    cd apache_1.3.31
    ./configure --enable-module=so --prefix=$HOME/apache --with-port=8888
    make
    make install
      

    编辑 $HOME/apache/conf/httpd.conf 并添加:

    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps
      
  2. 下载并解压缩 PHP

  3. 从 OTN 上的 Instant Client 页面下载 Basic 和 SDK Instant Client 程序包。这两个 RPM 的总大小大约为 30MB。

  4. 以 root 用户的身份安装 RPM。

    rpm -Uvh oracle-instantclient-basic-10.1.0.3-1.i386.rpm
    rpm -Uvh oracle-instantclient-devel-10.1.0.3-1.i386.rpm
    

    第一个 RPM 将 Oracle 库置于 /usr/lib/oracle/10.1.0.3/client/lib 中,第二个 RPM 在 /usr/include/oracle/10.1.0.3/client 中创建头 (header)。

  5. 备份此补丁,然后将它应用于 PHP 的 ext/oci8/config.m4。该补丁的行号是基于 PHP 4.3.9 的。如果已修复了 PHP 错误 31084(很有可能已在 PHP 4.3.11 和 5.0.4 中修复),则不需要此补丁。

    如果使用的是 PHP 4.3.9 或 4.3.10,则可以将此补丁保存到一个文件中(如 php_oci8ic_buildpatch),然后使用以下命令安装它:

    patch -u config.m4 php_oci8ic_buildpatch
      

    此补丁创建一个新的 PHP 配置参数:--with-oci8-instant-client[=DIR].在 Linux 上,默认情况下,它使用从 RPM 中安装的最新版本的 Instant Client。可以指定 Oracle 库所在的目录来使用其他版本。无论在哪种情况下,都将自动使用正确的 SDK 头。

    新参数与现有的 --with-oci8 参数互斥。

    例如:在非 Linux 平台上,将 Instant Client 程序包解压缩到您所选择的目录中。--with-oci8-instant-client 参数将需要明确指定此目录;例如,--with-oci8-instant-client=/home/instantclient10_1。应将 Instant Client SDK 解压缩到与基本程序包相同的目录中,以便修改后的配置脚本可以找到头文件的子目录。

  6. 在顶层 PHP 目录中重新构建“configure”脚本。
    cd php-4.3.9
    rm -rf autom4te.cache config.cache
    ./buildconf --force
      
  7. 使用新选项运行 configure。此示例使用安装在主目录中的 Apache。

    ./configure \
    --with-oci8-instant-client \
    --prefix=$HOME/php --with-apxs=$HOME/apache/bin/apxs \
    --enable-sigchild --with-config-file-path=$HOME/apache/conf
    
  8. 重建 PHP

    make
    make install
    
  9. PHP 配置复制到 --with-config-file-path 指定的位置

    cp php.ini-recommended $HOME/apache/conf/php.ini
    
  10. 将 LD_LIBRARY_PATH 设置为 /usr/lib/oracle/10.1.0.3/client/lib 并重新启动 Apache。

    如果使用了 tnsnames.ora 文件定义 Oracle Net 服务名称,则将 TNS_ADMIN 设置为包含此文件的目录。

    启动 Apache 之前应设置所有 Oracle 环境变量。以下脚本可以帮助完成此操作:

    #!/bin/sh
    APACHEHOME=/home/apache
    LD_LIBRARY_PATH=/usr/lib/oracle/10.1.0.3/client/lib:${LD_LIBRARY_PATH}
    TNS_ADMIN=/home
    export LD_LIBRARY_PATH TNS_ADMIN
    echo Starting Apache 
    $APACHEHOME/apachectl start
    

Tags:安装 PHP Oracle

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接