环境:centos6.9 php5.3.3

oracle客户端:
下载链接:http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html
oracle-instantclient11.2-basic-11.2.0.3.0-1.x86_64.rpm
oracle-instantclient11.2-devel-11.2.0.3.0-1.x86_64.rpm

php连接oracle模块支持pdo_oci:
http://pecl.php.net/package/PDO_OCI     PDO_OCI-1.0.tgz      Oracle Call Interface driver for PDO
http://pecl.php.net/package/oci8        oci8-1.4.5.tgz       Extension for Oracle Database,allows you to access Oracle databases

一、oracle客户端上传

使用xftp5工具连接linux服务器,上传已上下载文件至/usr/local/src目录下

二、oracle客户端安装
安装oracle客户端
1、执行命令:rpm -ivh oracle-instantclient11.2-basic-11.2.0.3.0-1.x86_64.rpm
2、执行命令:rpm -ivh oracle-instantclient11.2-devel-11.2.0.3.0-1.x86_64.rpm

配置oracle
1.修改/etc/ld.so.conf  或在ld.so.conf.d文件夹下添加oracle-x86_64.conf文件,写入安装oracle客户端的lib路径:
  执行命令:echo '/usr/lib/oracle/11.2/client64/lib/' > /etc/ld.so.conf.d/oracle-x86_64.conf
2.64位系统需要创建32位的软链接(这里可能是一个遗留bug,不然后面编译会出问题)
  执行命令1:ln -s /usr/lib/oracle/11.2/client64 /usr/lib/oracle/11.2/client
  执行命令2:ln -s /usr/include/oracle/11.2/client64 /usr/include/oracle/11.2/client
3.定义环境变量,修改/etc/profile文件,加入如下配置:
   export ORACLE_HOME=/usr/lib/oracle/11.2/client64/
   export LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64:$LD_LIBRARY_PATH
   export NLS_LANG="AMERICAN_AMERICA.AL32UTF8"
4,执行命令:source /etc/profile,使其生效

三、检查phpize是否安装

1、执行命令:find / -name phpsize,检查phpize是否存在

2、存在则执行下一步操作,反之,执行命令:yum install -y php-devel安装

四、安装pdo_oci模块
切换目录:cd /usr/local/src

解压安装包:tar -zxvf PDO_OCI-1.0.tgz

切换目录:cd PDO_OCI-1.0
防止pdo_oci对oracle11支持不足(pdo_oci可能不支持oracle11g,需要做个软链接成作为oracle10版本才能

执行命令1:ln -s /usr/include/oracle/11.2 /usr/include/oracle/10.2.0.1
执行命令2:ln -s /usr/lib/oracle/11.2 /usr/lib/oracle/10.2.0.1
执行命令3:phpize   用phpize来扩展
执行命令4:./configure --with-php-config=php-config --with-pdo-oci=instantclient,/usr,10.2.0.1
注:--with-pdo-oci这里也可以写全路径,可通过./configure --help查看具体用法
执行命令5:make
执行命令6:make install
执行命令7:ll /usr/lib64/php/modules/ |grep pdo_oci.so
执行命令8:vi /etc/php.ini配置文件中加入extension=pdo_oci.so,或者在/etc/php.d/下新建个pdo_oci.ini,添加进去

五、安装oci8
同上,解压至/usr/local/src
执行命令1:cd oci8-1.4.5/
执行命令2:phpize
执行命令3:./configure --with-php-config=php-config --with-oci8=shared,instantclient,/usr/lib/oracle/11.2/client/lib
执行命令4:make && make install
执行命令5:ll /usr/lib64/php/modules
执行命令6:echo 'extension=oci8.so' >>/etc/php.ini,或在/etc/php.d/下新建个oci8.ini将其添加进去
执行命令7:/etc/init.d/httpd reload
执行命令8:php -m 
..
memcache
oci8
openssl
pcntl
pcre
PDO
PDO_OCI
pdo_sqlite
...
可以看到模块pdo_oci和oci8已加载进去

PHP安装oracle的php_oci和oci8扩展的更多相关文章

  1. centos apache安装oracle扩展

    参考网址: http://blog.csdn.net/a82168506/article/details/11763989 步骤如下: 下载安装包,下载地址.(我下载的11.1版本) http://w ...

  2. Linux下PHP安装oci8扩展

    PHP通常搭配Mysql使用,但有时候也会连接到Oracle数据库.安装PHP的oci8扩张之前,需要先安装Oracle Instant Client( basic 或 basic lite 版就行了 ...

  3. 在 Linux 中安装 Oracle JDK 8 以及 JVM 的类加载机制

    参考资料 该文中的内容来源于 Oracle 的官方文档 Java SE Tools Reference .Oracle 在 Java 方面的文档是非常完善的.对 Java 8 感兴趣的朋友,可以直接找 ...

  4. linux下安装 oracle 11g

    oracle 11g安装 一.环境准备 划分区 / 15000M /tmp 4096M /boot 100M Swap 4096M /u01 剩余空间 2.更改主机名,ip地址 3.安装软件包 那么l ...

  5. linux 之静默安装oracle

    Web服务器上面的Linux一般是不会有图形界面的,所有通过图形界面来安装Linux的方式在没有图形界面的Linux上面是行不通的,我们要使用的安装方式叫做Linux的静默安装.即在没有图形界面的Li ...

  6. CentOS7安装Oracle 11gR2 安装

    概述 Oracle 在Linux和window上的安装不太一样,公司又是Linux系统上的Oracle,实在没辙,研究下Linux下Oracle的使用,oracle默认不支持CentOS系统安装,所以 ...

  7. Hyper-V安装Oracle Linux6_4 Oracle db 12c并使用rman做异机恢复

    本文记录在Windows Server 2012 R2上安装Oracle Enterprise Linux 6.4以及使用RMAN进行进行异机恢复的过程. Windows服务器增加Hyper-V功能 ...

  8. 《oracle每日一练》免安装Oracle客户端使用PL/SQL

    免安装Oracle客户端使用PL/SQL Oracle客户端挺招人烦的,部署连接它的应用通常需要先安装它的客户端,安装程序要求在目标机器上写注册表,假设你没有洁癖的话,你仍可能被下面的事情绊住:当你的 ...

  9. centos安装oracle 11g 完全图解

    摘要: 说明: Linux服务器操作系统:CentOS 5.8 32位(注意:系统安装时请单独分区/data用来安装oracle数据库) Linux服务器IP地址:192.168.21.150 Ora ...

随机推荐

  1. 动态规划:最长上升子序列(二分算法 nlogn)

    解题心得: 1.在数据量比较大的时候n^2会明显超时,所以可以使用nlogn 的算法,此算法少了双重循环,用的lower_bound(二分法). 2.lis中的数字并没有意义,仅仅是找到最小点lis[ ...

  2. [Hdu3507]Print Article(斜率优化)

    Description 题意:给N个数,按顺序全部取走,每次取一段连续的区间,代价为\((S[i]-S[j])^2+M\) 其中M为一个给定的常数,\(S[i]\)为前缀和 \(N\leq 50000 ...

  3. U10783 名字被和谐了

    U10783 名字被和谐了 题目背景 众所周知,我们称g是a的约数,当且仅当g是正数且a mod g = 0. 众所周知,若g既是a的约数也是b的约数,我们称g是a.b的一个公约数. 众所周知,a.b ...

  4. 自己用C语言写RH850 F1KM serial bootloader

    了解更多关于bootloader 的C语言实现,请加我QQ: 1273623966 (验证信息请填 bootloader),欢迎咨询或定制bootloader(在线升级程序). 手上有块Renesas ...

  5. JVM内存管理:深入Java内存区域与OOM

    Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的高墙,墙外面的人想进去,墙里面的人却想出来. 概述: 对于从事C.C++程序开发的开发人员来说,在内存管理领域,他们即是拥有最高权力的皇帝 ...

  6. C++模板编程-模板基础重点

    模板基础 1.模板参数自动推导,如果是已知的参数类型与个数,这调用模板时可以不写类型. Cout<<max<int>(1,3);可以写为Cout<<max(1,3) ...

  7. Python+Selenium练习篇之16-自定义浏览器窗口大小

    本文来学习下如何通过Selenium方法,设置符合不同测试场景浏览器窗口大小.例如,你有一台机器,最大支持1366*768,你完全可以利用这个机器测试不同分辨率下的场景. 相关测试脚本代码如下: # ...

  8. Python+Selenium练习篇之2-利用ID定位元素

    在前面一篇文章,我们介绍了如何摘取页面字段,通过正则进行匹配符合要求的字段.如果感觉有点困难,不能立马理解,没有关系.把字符串摘取放到第一篇,是因为自动化测试脚本,经常要利用字符串操作,字符串切割,查 ...

  9. SQL Server 2014存储过程的备份和还原

    Sql Server 2014存储过程备份和恢复... 1 1.      备份存储过程:... 1 2.      还原... 8 Sql Server 2014存储过程备份和恢复 1. 备份存储过 ...

  10. js验证密码强弱

    JS密码强度验证 <%@ Page Language="C#" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML ...