博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Centos下PHP7.1打开Oracle扩展
阅读量:5052 次
发布时间:2019-06-12

本文共 1535 字,大约阅读时间需要 5 分钟。

背景

最近因为项目研究了一下PHP集成Oracle,虽然这个组合很奇葩,但万一用到请勿采坑~

环境

  • CentOS Linux release 7.3.1611 (Core)
  • PHP7.1.1

安装oracle组件

下载

oracle-instantclient12.2-basic-12.2.0.1.0-1.x86_64.rpm
oracle-instantclient12.2-devel-12.2.0.1.0-1.x86_64.rpm
PS: 两个都必须安装,devel版本就是SDK
安装

# rpm -i oracle-instantclient12.2-basic-12.2.0.1.0-1.x86_64.rpm# rpm -i oracle-instantclient12.2-devel-12.2.0.1.0-1.x86_64.rpm

安装成功会生成如下目录,64位系统必须软连接成旧版(否则编译报版本不支持的错,应该是历史问题,坑1

# ln /usr/lib/oracle/12.2 /usr/lib/oracle/10.2.0.1# ln /usr/include/oracle/12.2 /usr/include/oracle/10.2.0.1

添加环境变量

# vi 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"

生效

# source /etc/profile

编译安装oci8和pdo_oci

下载最新的包

oci8-2.1.8.tgz和PDO_OCI-1.0.tgz
编译安装oci8

# tar -zxf oci8-2.1.8.tgz# cd oci8-2.1.8# phpize# ./configure --with-php-config=/usr/local/php/bin/php-config --with-oci8=shared,instantclient,/usr/lib/oracle/12.2/client64/lib# make# make install

生成oci8.so即成功

编译安装pdo_oci

# tar -zxf PDO_OCI-1.0.tgz# cd PDO_OCI-1.0# phpize# ./configure --with-php-config=/usr/local/php/bin/php-config --with-pdo-oci=instantclient,/usr,10.2.0.1# make# make install

生成pdo_oci.so即成功

打开PHP扩展

具体方式根据PHP环境而定,我的环境不需要改变so文件路径,使用生成的默认路径即可,只需要添加Additional .ini files到/usr/local/php/etc/php.d/,重启生效

确认生效状态

# php -m | grep -e oci8 -e PDO_OCIoci8PDO_OCI

大功告成

PS

由于编译安装下载的pdo_oci总是报错(坑2),于是到php.net下载了对应版本的php(比如:),拷贝ext目录下的pdo_oci编译安装,步骤同上。

原文地址:

转载于:https://www.cnblogs.com/lalalagq/p/9980081.html

你可能感兴趣的文章
iOS设计模式 - 中介者
查看>>
centos jdk 下载
查看>>
HDU 1028 Ignatius and the Princess III(母函数)
查看>>
(转)面向对象最核心的机制——动态绑定(多态)
查看>>
token简单的使用流程。
查看>>
django创建项目流程
查看>>
Vue 框架-01- 入门篇 图文教程
查看>>
多变量微积分笔记24——空间线积分
查看>>
poi操作oracle数据库导出excel文件
查看>>
(转)Intent的基本使用方法总结
查看>>
Windows Phone开发(24):启动器与选择器之发送短信
查看>>
JS截取字符串常用方法
查看>>
Google非官方的Text To Speech和Speech Recognition的API
查看>>
stdext - A C++ STL Extensions Libary
查看>>
Django 内建 中间件组件
查看>>
bootstrap-Table服务端分页,获取到的数据怎么再页面的表格里显示
查看>>
进程间通信系列 之 socket套接字及其实例
查看>>
天气预报插件
查看>>
Unity 游戏框架搭建 (十三) 无需继承的单例的模板
查看>>
模块与包
查看>>