zoukankan      html  css  js  c++  java
  • Linux下PHP开启Oracle支持(oci8)

    使用php的常见问题是:编译php时忘记加入某扩展,后来想加入扩展,可是由于安装php后又装了一些东西如PEAR等,不想删除文件夹重装,那么此时就须要自己又一次添加某模块支持了,Linux操作系统下能够用phpize给PHP动态加入扩展.下面就以扩展模块 oci8为例(php连接oracle数据库须要改扩展支持)做简单的说明.(下面全部资源能够訪问http://download.csdn.net/detail/haiqiao_2010/8294513 进行统一下载)

    1.下载Oracle客户端程序包,当中包括OCI、OCCI和JDBC-OCI等相关文件

     1.1 依据Linux系统选择相应的软件,我的为32位系统,所下面载例如以下文件:

    oracle-instantclient11.2-basic-11.2.0.3.0-1.i386.rpm

    oracle-instantclient11.2-devel-11.2.0.3.0-1.i386.rpm

    1.2下载地址: http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html (Oracle官网下载须要注冊用户)

    2.安装oracle客户端,执行下面命令就可以:

    rpm -ivh oracle-instantclient11.2-basic-11.2.0.3.0.i386.rpm

    rpm -ivh oracle-instantclient11.2-devel-11.2.0.3.0.i386.rpm

    3.安装oci8 php扩展

    3.1 下载oci8-1.4.10.tgz 

    下载地址:http://pecl.php.net/get/oci8-1.4.10.tgz

    3.2 把下载文件上传至linuxserver,并进行解压

    命令:tar zxvf oci8-1.4.10.tgz#解压

    3.3 转到解压文件夹

    命令:cd oci8-1.4.10

    3.4 使用phpize准备 PHP 外挂模块的编译环境。会依据指定的环境变量生成编译时须要的makefile。phpize是属于php-devel的内容。所以centos下仅仅要执行yum install php-devel进行安装就可以 (注意:/usr/local/php/bin/phpize 为我的php文件夹,不同则需改之;假设是64位的系统,client改成client64)

    /usr/local/php/bin/phpize CFLAGS="-I/usr/lib/oracle/11.1/client" CXXFLAGS="-I/usr/lib/oracle/11.1/client"

    3.5 编译,安装

    要有与现有php全然同样的php压缩包。

    我用的是php-5.5.3.tar.gz。展开后进入里面的ext/oci8文件夹下,

    然后执行命令: /usr/local/php/bin/phpize #这是一个可执行的文本文件,要确保它在系统中

    会发现当前文件夹下多了一些configure文件。

    假设没报错,则执行命令;

    ./configure --with-php-config=/usr/local/php/bin/php-config --with-oci8=/usr/lib/oracle/11.1/client

    注意要先确保/usr/local/php/bin/php-config存在。假设你的php安装路径不是默认的,要改。

    再执行下面命令 ,然后它告诉你一个文件夹,你把该文件夹下的oci8.so复制到你php.ini中的extension_dir指向的文件夹中

    make 
    make install

    须要强调的是make的时候会报错,显示各种找不到库文件,须要对makefile文件进行改动加入oralce的执行库地址

    打开makefile,寻找INCLUDE,形式例如以下:

    INCLUDES = -I/usr/local/php/include/php -I/usr/include/oracle/10.2.0.3/client

    然后在末尾加上="-I/usr/lib/oracle/11.1/client。然后又一次make就会成功了。

    4. 改动PHP.ini(/usr/local/php/etc/php.ini)

    在extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/"后添加一行:

    extension = "oci8.so"

    注意:要确保/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/ 该文件夹下有oci8.so文件

    5.重新启动apache,让oci生效

    6.在web文件夹下创建phpinfo.php文件在当中输入一下内容。并通过web訪问

    <?php
    	phpinfo();
    ?>

    假设找到OCI8的部分就说明OCI安装正常了。例如以下图所看到的


    说明oci8成功安装,接下来就能够使用php訪问oracle数据库了











  • 相关阅读:
    tr命令修剪换行符
    K8S从secret文件生成密钥后,如何更新Kubernetes上的密钥呢?
    tcpdump
    wireshark怎么抓包、wireshark抓包详细图文教程
    Kubernetes v1.15.3 升级到 v1.18.5 心得
    Python 简明教程 --- 20,Python 类中的属性与方法
    php大文件(视频)上传解决方案
    求大文件(视频)上传解决方案
    wordpress粘贴word图片且图片文件自动上传功能
    CMS粘贴word图片且图片文件自动上传功能
  • 原文地址:https://www.cnblogs.com/llguanli/p/8424255.html
Copyright © 2011-2022 走看看