最近要用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. ASP.NET MVC之控制器传递数据到视图的四种方式

    前奏 1. 在新建项目中的Models文件下,新建Products类: public class Products { public int Id { get; set; } public strin ...

  2. 【转】深入理解javascript原型和闭包(完结)

    直接传送门-------------------->>>>>>>> 深入理解javascript原型和闭包(完结)

  3. USB调试不能弹出授权窗口 unauthorized 的解决办法

    今天把 AndroidStudio 1.5 给卸载了,重新安装 2.1版本,据说速度快了很多,结果手机一直没法授权调试,授权USB调试信任PC设备的窗口始终没看到,网上找了好多方法,什么驱动.重启.各 ...

  4. JSON对象和字符串的转换

    JSON.parse()和JSON.stringify()   1.parse 用于从一个字符串中解析出json 对象.例如 var str='{"name":"cpf& ...

  5. [UWP小白日记-8]一些零碎的东西

    设置启动窗口大小 直接上代码了没什么好解释的了,既然能设置最小,那铁定就能设置最大 public MainPage() { //设定窗口启动显示大小 ApplicationView.Preferred ...

  6. Django命令行相关命令 以及创建一个空白网页的步骤

    django相关命令行命令: django.admin.py是Django的一个用于管理任务的命令行工具,manage.py是对django-admin.py的简单包装,每个Django Projec ...

  7. WeakSelf宏的进化(转载)

    我们都知道在防止如block的循环引用时,会使用__weak关键字做如下定义: __weak typeof(self) weakSelf = self; 后来,为了方便,不用每次都要写这样一句固定代码 ...

  8. 关于wkwebview

    一.引入库 #import <WebKit/WebKit.h> 二.初始化有两种方式 // 默认初始化 - (instancetype)initWithFrame:(CGRect)fram ...

  9. Scala减少代码重复

    高阶函数可以把其它函数当作函数参数,帮助我们减少代码重复,例如: object FileMatcher { private def fileHere = (new File(".\\file ...

  10. 8.MyBatos的动态Sql

    1.创建javaWeb项目MyBatis_dynamicSQL并在WebRoot下的WEB-INF下的lib下添加如下jar文件 cglib-nodep-2.1_3.jar log4j-1.2.17. ...