最近要用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. [ios2]ASIHTTPReques 清除所有持久连接

    http://www.winddisk.com/2012/08/27/iphone_screenlock_network_disconnection/ + (void)clearPersistentC ...

  2. Server Tomcat v6.0 at localhost was unable to start within 45 seconds

    在eclipse里启动tomcat的时候出现以下的错误: Server Tomcat v6.0 at localhost was unable to start within 45 seconds. ...

  3. 用备份控制文件做不完全恢复下的完全恢复(数据文件备份<旧>--新建表空间--控制文件备份<次新>--日志归档文件<新>)

    为什么会使用备份的控制文件? 实际工作中主要有两种情况:第一种:当前控制文件全部损坏,而数据文件备份,控制文件备份及当前日志处于不同SCN版本,它们之间又增加过表空间(数据文件).第二种:当前控制文件 ...

  4. Ubuntu16.04 server下配置MySQL,并开启远程连接

    背景 最近正在学nodejs,想到曾经有台云服务器,但是很久不用了,由于怕麻烦,一股脑的把云主机重装了个Ubuntu系统,于是配置MySQL成了配置服务中的一个环节(node用不用MySQL不管,主要 ...

  5. 编写高性能SQL的注意事项

    在数据库部分,对数据库应用性能改进来说,需要重点关注应用程序,在查询设计和索引策略等方面进行优化,甚至可以把数据库查询效率提高数百倍,在其他方面的优化努力,其效果就没有这么明显(见下图).本文重点描述 ...

  6. CodeForces 213B Numbers

    $dp$,组合数. $dp[i][j]$表示只用数字$i$,$i+1$,$i+2$......,$9$,凑成长度为$j$的并且数字$i$到$9$符合要求的方案数.只要枚举数字$i$用几个就可以转移了. ...

  7. postgresql----serial类型和序列

    postgresql序列号(SERIAL)类型包括smallserial(smallint,short),serial(int)和bigserial(bigint,long long int),不管是 ...

  8. Attribute value is quoted with " which must be escaped when used within the value 问题解决

    访问JSP时,报错:Attribute value is quoted with " which must be escaped when used within the value .相信 ...

  9. js中substr,substring,indexOf,lastIndexOf等的用法

    1.substrsubstr(start,length)表示从start位置开始,截取length长度的字符串. var src="images/off_1.png";alert( ...

  10. createElement、createTextNode、setAttribute使用方法

    createElement() 方法可创建元素节点. 示例:var placeholder = document.createElement("img"); createTextN ...