最近要用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. 分析器错误(在浏览器中查看.aspx)

    分析器错误 说明: 在分析向此请求提供服务所需资源时出错.请检查下列特定分析错误详细信息并适当地修改 分析器错误消息: 未能创建类型"StockManageWebService.Servic ...

  2. 009-程序集路径Web窗体

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Index.aspx.cs& ...

  3. CodeForces 645A Amity Assessment

    简单模拟. #pragma comment(linker, "/STACK:1024000000,1024000000") #include<cstdio> #incl ...

  4. javascript 高级程序设计1--14章重点总结

    js简介 首先介绍了js是一种专门与网页交互而设计的脚本语言.主要由ECMAScript 文档对象模型(DOM) 浏览器对象模型(BOM)三部分组成.分别用来提供核心语言,提供访问和操作网页内容的方法 ...

  5. awk-模式匹配

    使用awk作为文本处理工具,正则表达式是少不了的. 要掌握这个工具的正则表达式使用.其实,我们不必单独去学习它的正则表达式.正则表达式就像一门程序语言,有自己语法规则已经表示意思. 对于不同工具,其实 ...

  6. arm指令集

    http://blog.chinaunix.net/uid-20769502-id-112445.html

  7. Windows 服务 Error 14001

    如果碰到 windows 服务安装不了或者启动不了,报14001的配置文件错误,那么 可以从.exe.config入手,我这次遇到的是配置中有中文注释导致的. 我把空行以及中文的注释去掉以后,整个世界 ...

  8. ios微信支付成功后点击左上角返回不走回调的问题

    最近做微信支付发现ios9以后出现的跳转其他app后左上角有返回xxx功能会影响微信支付回调,情况如图 返回后不走下面的方法 - (BOOL)application:(UIApplication *) ...

  9. <hdu - 1232> 畅通工程 并查集问题 (注意中的细节)

    本题链接:http://acm.hdu.edu.cn/showproblem.php?pid=1232  结题思路:因为题目是汉语的,那我就不解释题意了,要求的是最少建设的道路,我们可以用并查集来做这 ...

  10. java 生成二维码

    package com.sun.erwei; import java.awt.Graphics2D;import java.awt.geom.AffineTransform;import java.a ...