最近要用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

linux下安装php的oracle拓展的更多相关文章

  1. linux下安装php的mcrypt拓展

    安装步骤: 1,#wget  http://museum.php.net/php5/php-5.3.3.tar.gz 2,解压:#tar -zxvf  php-5.3.3.tar.gz 3,#cd   ...

  2. 解决在Linux下安装Oracle时的中文乱码问题

    本帖最后由 TsengYia 于 2012-2-22 17:06 编辑 解决在Linux下安装Oracle时的中文乱码问题 操作系统:Red Hat Enterprise Linux 6.1数据库:O ...

  3. linux下安装Oracle时交换空间不足的解决方法

    摘:linux下安装Oracle时交换空间不足的解决方法 linux上安装Oracle时交换空间不足的解决办法 增加交换空间有两种方法: 严格的说,在系统安装完后只有一种方法可以增加swap,那就是本 ...

  4. Ubuntu Linux下安装Oracle JDK

    from://http://blog.csdn.net/gobitan/article/details/24322561 Ubuntu Linux下安装Oracle JDK Dennis Hu 201 ...

  5. Linux下安装Oracle后重启无法登录数据库ORA-01034:ORACLE not available

    Linux下安装了数据库,安装完成后可以用,今天启动就不能用了,提示Oracle not available,后来查找资料,据说是oracle服务没有打开.如下方式可以解决问题. [root@root ...

  6. Linux下安装JDK 1.8你必须知道的糟心事

    来源:Atstudy网校 1.简介 在Oracle收购Sun后,Java的一系列产品就被整合到Oracle官网中,打开官网乍眼一看也不知道去哪里下载,还的一个一个的摸索尝试,而且网上大多数都是一些Or ...

  7. Linux下安装 Posgresql 并设置基本参数

    在Linux下安装Postgresql有二进制格式安装和源码安装两种安装方式,这里用的是二进制格式安装.各个版本的Linux都内置了Postgresql,所以可直接通过命令行安装便可.本文用的是Cen ...

  8. Linux下安装Tomcat服务器和部署Web应用

    一.上传Tomcat服务器

  9. Linux 下安装配置 JDK7

    Linux 下安装配置 JDK7 配置环境(debian 7) 自从从Oracle收购Sun近三年来,已经有很多变化.早在8月,甲骨文将“Operating System Distributor Li ...

随机推荐

  1. 虚拟键盘冲击移动端fixed布局的解决方案

    在做移动端业务开发时,会碰到fixed元素和输入框同时存在的情况.在手机软键盘唤起的情况下,会造成原本fixed定位的元素跟随软键盘而上浮,对整体布局造成冲击.来看这样一个栗子直观的感受一下这个bug ...

  2. [原译]在mongoose中对Array Schema进行增删改

    原文地址: http://tech-blog.maddyzone.com/node/add-update-delete-object-array-schema-mongoosemongodb 本文为上 ...

  3. codewars-random(2)

    找出数组中的间谍 思路一:遍历一遍数组,开始前将flag设置为0:将count设为0:每当出现一个奇数(注意负数)count加1,当count大于等于2时将flag至为1: 再遍历一遍数组,如果fla ...

  4. 遍历Map集合的四中方法

    ->有这样一个Map集合 Map<String, String> map = new HashMap<String, String>(); map.put(", ...

  5. swift3 循环滚动视图 自适应横竖屏 reload数据源

    一句话创建banner图,可时时刷新 用到了 SnapKit.SDWebImage两个第三方库 实现步骤------------------------------------------------ ...

  6. get_class_vars 返回由类的默认属性组成的数组

    get_class_vars (PHP 4, PHP 5) get_class_vars - 返回由类的默认属性组成的数组 说明 array get_class_vars ( string $clas ...

  7. Linq——Count、Sum、Min、Max、Average

    using System; using System.Data; using System.Configuration; using System.Linq; using System.Web; us ...

  8. C#下在图片文件本地

    //C#下载图片文件到本地,c#,c#下载,下载图片,下载文件,下载函数// 从图片地址下载图片到本地磁盘// 将二进制文件保存到磁盘 using System;using System.Drawin ...

  9. php遍历目录下文件,并读取内容

    <?php echo "<h2>遍历目录下文件,并读取内容</h2><br>\n"; function listDir($dir) { i ...

  10. linode更换Linux内核教程(独家)

    Linode服务器性价比高,最低套餐2G内存,享受每月2TB流量,机房40Gb带宽,每月供需10美元(Linode优惠链接).Linode用户创建vps服务器后,可在后台自定义Linux系统版本,包括 ...