zoukankan      html  css  js  c++  java
  • ubuntu 安裝 pdo_oci oci8

    确实费了不少周折,必须记下来。

    CentOS服务器上已有相关环境:apache2、php5.3.10

     需要安装:oracle客户端、pdo_oci扩展、oci8扩展

    Let's do it !

    一、 准备文件

    1) oracle客户端rpm包,http://www.oracle.com/technology/tech/oci/instantclient/instantclient.html 下载

    # oracle-instantclient11.1-basic-11.1.0.7.0-1.x86_64.rpm
    #
    oracle-instantclient11.1-devel-11.1.0.7.0-1.x86_64.rpm
    #
    oracle-instantclient11.1-sqlplus-11.1.0.7.0-1.x86_64.rpm

    2) pdo_oci 与 oci8 包

    下载php下的mcrypt扩展或者直接下载php的完整安装包
    http://cn.php.net/releases/ 网页下找到自己服务器的php版本,下载后tar解压(本人的是php5.3.10)

    解压后,包内php5.3.10/ext/文件夹下含有oci与pdo_oci的扩展源码

    二、安装oracle客户端

    # rpm -ivh oracle-intstant*.rpm

    三、配置oracle

     1) 添加动态装载器

       修改/etc/ld.so.conf文件或在ld.so.conf.d文件夹下添加oracle-x86_64.conf文件,写入如下你安装的oracle客户端的lib路径:

    /usr/lib/oracle/11.1/client64/lib/

    2) 以免pdo_oci对oracle11支持不足,做一个假的ln,骗过编译

    # ln -s /usr/include/oracle/11.1 /usr/include/oracle/10.2.0.1
    # ln -s /usr/lib/oracle/11.1 /usr/lib/oracle/10.2.0.1

    3) 修改/etc/profile文件,最后加入如下内容:

    export ORACLE_HOME=/usr/lib/oracle/11.1/client64/
    export LD_LIBRARY_PATH
    =/usr/lib/oracle/11.1/client64:$LD_LIBRARY_PATH
    export NLS_LANG
    ="AMERICAN_AMERICA.AL32UTF8" //具体字符集,请查看你的oracle服务端sql

     保存后出来执行

    # source /etc/profile  //立即生效

    四、安装pdo_oci

    1)进入文件夹

    # cd php-5.3.10/ext/pdo_oci/

    2) 用phpize来扩展,文件夹内执行: phpize

    [root@jinniu-test3 pdo_oci]# phpize
    Configuring for:
    PHP Api Version:         20090626
    Zend Module Api No:      20090626
    Zend Extension Api No:   220090626

    3) 编译安装

    # ./configure --with-php-config=/usr/bin/php-config --with-pdo-oci=instantclient,/usr,10.2.0.1
    # make && make install

    执行顺利完成后,最后一行可以看到,已经将pdo_oci.so文件放入php的modules下,只需修改下php.ini文件,添加extension=pdo_oci.so即可 

    五、安装oci8

    基本一样,进入php5.3.10/oci8/文件夹,phpize命令,编译安装

    # ./configure --with-php-config=/usr/bin/php-config
    #
    make && make install

    最后也要修改php.ini文件(我这里的系统配置是分离的,在/etc/php.d/文件夹下新建一个oci8.ini,内容还是extension=oci8.so

    如果编译出现:make: *** [pdo_oci.lo] Error 1 或 make: *** [pdo_oci.la] Error 1 错误,则是缺少Oci库文件

    [c-sharp] view plaincp -f /usr/include/oracle/10.2.0.3/client64/* include/  

     將oracle設置為全局

    ; 在php-fpm.conf中加入如下代碼
    ; Pass environment variables like LD_LIBRARY_PATH. All $VARIABLEs are taken from ; the current environment. ; Default Value: clean env ;env[HOSTNAME] = $HOSTNAME ;env[PATH] = /usr/local/bin:/usr/bin:/bin ;env[TMP] = /tmp ;env[TMPDIR] = /tmp ;env[TEMP] = /tmp env[ORACLE_HOME] = $ORACLE_HOME

      

    六、查看你的phpinfo()

  • 相关阅读:
    博客作业01-抽象数据类型
    C语言最后一次作业--总结报告
    C语言博客作业--函数嵌套调用
    C语言博客作业--结构体
    数位DP之奥义
    POJ 3311 Hie with the Pie (状压DP)
    kaungbin_DP S (POJ 3666) Making the Grade
    POJ 3666 Making the Grade
    kuangbin_SegTree M (HDU 4553)
    kuangbin_SegTree I (HDU 1540)
  • 原文地址:https://www.cnblogs.com/xiongwei89/p/3723863.html
Copyright © 2011-2022 走看看