专栏首页Grace developmentPHP 使用 Oracle 数据库的准备工作

PHP 使用 Oracle 数据库的准备工作

系统 : Linux Centos 7.0

前言:想让PHP可以操作Oracle数据库,那绝对是需要安装关于Oracle扩展。php的Oracle扩展叫oci

oracle扩展包下载地址: http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html

网页上会显示如下的下载列表:

Download Oracle Database 10g Instant Client for Microsoft Windows (32-bit)

Download Oracle Database 10g Instant Client for Microsoft Windows 64-bit Itanium

Download Oracle Database 10g Instant Client for Microsoft Windows (x64)

Download Oracle Database 10g Instant Client for Linux x86

Download Oracle Database 10g Instant Client for Linux x86-64

Download Oracle Database 10g Instant Client for Linux Itanium …

如系统是32位则选择第4个,64位选择第5个。

选择错误会造成make php oci8的时候报兼容失败。

下面是64位系统的演示。

第一步:安装oracle

rpm -ivh oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm

rpm -ivh oracle-instantclient12.1-devel-12.1.0.2.0-1.x86_64.rpm

rpm -ivh oracle-instantclient12.1-sqlplus-12.1.0.2.0-1.x86_64.rpm

说明:oracle包版本要与oci8包版本兼容,php官网给出的参考文字是

Use the OCI8 extension to access Oracle Database. The extension can be linked with Oracle client libraries from Oracle Database 10.2, 11, or 12.1. These libraries are found in the database installation, or in the free Oracle Instant Client available from Oracle. Oracle’s standard cross-version connectivity applies. For example, PHP OCI8 linked with Instant Client 11.2 can connect to Oracle Database 9.2 onward. See Oracle’s note “Oracle Client / Server Interoperability Support” (ID 207303.1) for details. PHP OCI8 2.0 can be built with PHP 5.2 onward. Use the older PHP OCI8 1.4.10 when using PHP 4.3.9 through to PHP 5.1.x, or when only Oracle Database 9.2 client libraries are available.

官网的意思是在安装oci8的时候要保证 oracle扩展+oci8+php版本 要达成一致,否则就会出问题。 – – 英文不好大概就这个意思吧。

第二步:下载php oci扩展

安装oci8扩展 下载地址:http://pecl.php.net/package/oci8

我的php版本是5.5.4的依照官网的描述我选择的是 oci8-2.0.0.tgz 包.

tar zxvf oci8-2.0.0.tgz

cd oci8-2.0.0.tgz

/usr/bin/phpize

./configure --with-php-config=/usr/bin/php-config --with-oci8=shared,instantclient,/usr/lib/oracle/11.2/client/lib

make

make install

说明:

1.oci8-2.0.0.tgz这个是单独的扩展包,也可以下载完整的php安装包,如php-5.5.28.tar.gz,解压后,cd到ext目录下的oci8目录即可。

2.phpize和php-config都不一定在上面的路径中,因为安装lamp环境的方法每个人不尽相同,可以用which命令查找,如which phpize。

3.关键点是要保证phpize,php-config,以及oracle的安装路径要正确

第三步:配置 php.ini

其实大部分时候是不需要第三步的,系统会默认把扩展加上

可以用find命令找到这个文件,找到类似extension = “”的配置项,加一行extension = “oci8.so” 说明:经过第二步的make,makeinstall后会生成一个oci8.so文件,可以用find命令查找一下路径,extentsion=”oci8.so”要结合extention_dir=”/usr/lib/php/modules” 这个配置项来看,这两句的意思就是在/usr/lib/php/modules下找oci8.so扩展,换句话说就是如果你的oci8扩展不是生成在/usr/lib/php/modules目录下,那么你就要改动extention_dir以确保oci8.so的路径是正确的

上面步骤完成后,重启代理服务。PHPINFO() 查看下。是不是已经成功了?!

最后修改:1年前 2017-07-27

© 著作权归作者所有

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Laravel源码解析之从入口开始

    提升能力的方法并非使用更多工具,而是解刨自己所使用的工具。今天我们从Laravel启动的第一步开始讲起。

    CrazyCodes
  • PHP To Go 转型手记 (终)

    作为一名PHP程序员,我感到荣幸。但在时代不断的变迁中,要具备足够的知识才可生存。

    CrazyCodes
  • 电商系统设计之商品 (下)

    完成上述流程则是完成了一笔交易,经常网上购物的童鞋都懂这个。今天我们讲下从商品系统到交易系统和订单系统的存储过程及其设计上的应该注意的“坑”。

    CrazyCodes
  • 百微秒时延,腾讯云云硬盘CBS架构深度解密

    导语 | 随着云计算的逐步普及,越来越多用户在云上部署其核心业务。大型数据库、高性能 NoSQL、日志检索、DevOps 等 IO 密集型场景对云上存储提出了更...

    腾小云
  • 投融资汇总 | 本周(11.19-11.25)百度AI战略凸显,共投资三家AI公司

    镁客网
  • 近期APT攻击事件频发—安恒信息再次成功检测到APT攻击样本

    >>>> 前言 乌克兰电力系统受到APT攻击事件,给国内外企业和用户都敲响了警钟,与此同时,安恒信息在国内也监控到了多次APT攻击。近期,安恒信息APT威胁分析...

    安恒信息
  • 还记得那个呆萌的搭顺风车机器人吗?他被人类弄残了

    横穿美国之旅开始仅有两周,这位亲切友好的搭顺风车机器人就伤痕累累地在费城终止了旅行。 据英国《每日电讯报》报道,搭顺风车机器人HitchBOT由加拿大安大略省...

    机器人网
  • 无人翼交付,颠覆最后一公里

    在Alphabet(没错,就是谷歌的母公司)的子公司Wing Aviation成为第一家获得美国联邦航空管理局航空承运人认证的无人机运输公司后,Wing Avi...

    程序那些事
  • 泛函编程(24)-泛函数据类型-Monad, monadic programming

        在上一节我们介绍了Monad。我们知道Monad是一个高度概括的抽象模型。好像创造Monad的目的是为了抽取各种数据类型的共性组件函数汇集成一套组件库从...

    用户1150956
  • Segway研发Loomo平衡车,可以瞬间变身机器人 | 黑科技

    镁客网

扫码关注云+社区

领取腾讯云代金券