zoukankan      html  css  js  c++  java
  • linux下安装php的oracle拓展

      最近要用Php远程连接第三方的oracle数据库,安装oracle拓展搞了好久,终于弄出来了,现在分享出来:

    1,注意安装的客户端版本要和服务端的版本一致,不然会有异常

    2,安装之前先要下载三个软件:

      http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html 下载对应oracle的版本:

       basic-10.2.0.5.0-linux-x64.zip

       sdk-10.2.0.5.0-linux-x64.zip

       http://pecl.php.net/package/oci8 下载PHP的oci8扩展:oci8-2.0.8.tgz

    3,开始安装:

        1):将三个软件上传到服务器,解压缩basic-10.2.0.5.0-linux-x64.zip到/usr/local/下,解压后的路径:/usr/local/instantclient_10_2

            2):解压缩sdk-10.2.0.5.0-linux-x64.zip 里面有个sdk,将sdk复制到/usr/local/instantclient_10_2

            3):解压缩oci8-2.0.8.tgz,进去oci8-2.0.8目录:执行phpize命令

            4):然后执行:./configure --with-oci8=shared,instantclient,/usr/local/instantclient_10_2(也是在oci8-2.0.8目录执行)

            5):在执行 ./configure 的时候,会提示 “checking Oracle Instant Client library version compatibility... configure: error: Link from /usr/local/instantclient_10_2/libclntsh.so to                     /usr/local/instantclient_10_2/libclntsh.so.*.1 not found”的错误,此时只要在 /usr/local/instantclient_10_2/ 目录下做一个符号链接就可以了:
                  进入/usr/local/instantclien_10_2目录:执行  ln -s libclntsh.so.10.1 libclntsh.so命令

            6):重复步骤4

            7):执行:make && make install命令

            8):修改php.ini,在最后加上extension=oci8.so

            9):重启apache:service httpd restart  

           10):测试连接oracle:代码:  

        $conn = OCILogon('username','pwd','(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=ip)(PORT = 1521))(CONNECT_DATA =(SID=dbname)))');
        if (!$conn) {

          $Error = oci_error();
          print htmlentities($Error['message']);

          exit;

        }

        else

        {

          echo "Connected Oracle Successd!";

        }

     4,安装配置成功     

     5,远程连接数据库时查询出来的数据会出现中文是问号或乱码的问题,解决办法:在页面头部加入代码:
      header("Content-type:text/html;charset=GB2312");

      putenv("NLS_LANG=Simplified Chinese_china.ZHS16GBK");

      注意文件保存时的编码也存为gbk

  • 相关阅读:
    操作系统中线程中所需内存来源哪里
    【转】在单片机(MCU)上运行Qt
    【转】Qt QtCreator 所有版本官方下载地址
    emwin之BUTTON控件显示位图和流位图出现卡顿延迟的情况
    【转】8段数码管引脚图,8段数码管动态显示详解
    emwin之窗口ID的唯一性
    KEIL之工程单独文件属性修改
    emwin之在中断服务程序中创建窗口的结果
    emwin之创建窗口与窗口回调函数的句柄是一致的
    【转】C语言堆栈入门——堆和栈的区别
  • 原文地址:https://www.cnblogs.com/hxyphp/p/3817246.html
Copyright © 2011-2022 走看看