ubuntu 安装php7.2 oracle扩展
一:介绍
php要连接访问oracle需要安装三个东西
1:Oracle Instant Client:即时客户端库
2:php的Oracle数据库扩展:oci8
3:php连接pdo的oci扩展:pdo_oci
原理:oci8提供php驱动,封装方法,php通过oci8内置的方法连接Oracle Instant Client,实现链接、操作oracle。然后通过pdo_oci供php语言操作。
二:安装oracle即时客户端
1:首先到oracle官网下载三个东西:https://www.oracle.com/database/technologies/instant-client/linux-x86-64-downloads.html
2:我这里选择12.1版本。这三个东西分别是:basic、devel、sqlplus
oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm
oracle-instantclient12.1-devel-12.1.0.2.0-1.x86_64.rpm
oracle-instantclient12.1-sqlplus-12.1.0.2.0-1.x86_64.rpm
3:安装alien和依赖包
sudo apt-get install alien libaio1
4:依次安装安装上面三个东西
sudo alien -i oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm
sudo alien -i oracle-instantclient12.1-devel-12.1.0.2.0-1.x86_64.rpm
sudo alien -i oracle-instantclient12.1-sqlplus-12.1.0.2.0-1.x86_64.rpm
alien -i:把rpm装成deb安装
如果没有报错的话,安装的默认位置在这:/usr/lib/oracle/
三:安装 php的Oracle数据库扩展:oci8
我们通过pecl来安装
1:安装pecl命令
apt-get install php-pear
2:安装php-dev,因为pecl会用到phpize,而这个东西在php-dev里面
apt-get install -y php7.2-dev
3:更新一下pecl channel
sudo pecl channel-update pecl.php.net
4:到 pecl官网看下,这玩意儿怎么用 https://pecl.php.net/package/oci8
5:安装oci8
pecl install oci8-2.2.0
回车后出现这个画面:
把我们安装oracle即时客服端的位置写进去,上面红色标注。然后回车:
instantclient,/usr/lib/oracle/12.1/client64/lib
如果一切顺利的话,最终是这个画面:
说明安装成功了
四:安装pdo_oci扩展
我的php 是apt install 安装,执行:apt-cache search php7.2,发现没有pdo_oci,没有的话我们就去官网下载源码编译安装。首先查看php版本,然后下载对应版本的php源码。
下载后解压,进入ext/pdo_oci准备编译
tar -xvf php-7.2.24.tar.gz
cd php-7.2.24/ext/pdo_oci
编译安装:
phpize
./configure --with-pdo-oci=instantclient,/usr/lib/oracle/12.1/client64/lib
make
make install
./configure 后面这一串和安装oci8的时候完全一样
五:加入php.ini
我们可以查看一下扩展的位置:

然后加入php.ini配置
extension=oci8.so
extension=pdo_oci.so
注意:extension=extension=oci8.so 一定要加载pdo.so的后面,不能在前面加载,注意加载顺序
然后重启一下fpm
五:php连接oracle
<?php
try{
$conn = new \PDO('oci:dbname=192.168.1.102/orcl;charset=utf8', 'user', 'password');
$conn ->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION);
print_r($result);
}catch(PDOException $e){
echo $e->getMessage(); //异常
}
ubuntu 安装php7.2 oracle扩展的更多相关文章
- Ubuntu安装PHP7
安装PHP7 Ubuntu 16.04官方源自带PHP7,所以可以直接使用apt-get来安装. (1)安装PHP7以及常用扩展. -fpm php7.-mysql php7.-common php7 ...
- centos6下安装php7的memcached扩展
安装php7的memcached扩展 .编译安装libmemcached- wget https://launchpadlibrarian.net/165454254/libmemcached-1.0 ...
- window下安装php7的memcache扩展
安装memcache:http://www.runoob.com/memcached/memcached-connection.html1.4.4 c:\memcached\memcached.exe ...
- Ubuntu安装MongoDB和PHP扩展
MongoDB是一个可伸缩的,高性能的开源NoSQL 文档数据库.主要用C++开发完成.面向文档存储,全索引支持,可复制和高可用性,自动分片等特征.其在非关系型数据库中是功能最丰富,最像关系型数据库 ...
- CentOS7 安装PHP7的swoole扩展:
一.绪 Swoole简介 PHP异步网络通信引擎 最终编译为so文件作为PHP的扩展 准备工作 Linux环境 PHP7 swoole2.1 redis 源码安装PHP7 源码安装swoole htt ...
- Ubuntu16.04 安装PHP7 的 imagick 扩展
转自:https://blog.csdn.net/qq_16885135/article/details/78130281 1.从 https://pecl.php.net/package/imagi ...
- 安装php的oracle扩展
PHP 版本5.5 Windows下 1.首先下载OCI8的扩展 http://pecl.php.net/package/o... 我这里下的版本是5.5 Thread Safe (TS) x86 版 ...
- Ubuntu 安装 RabbitMQ 和PHP扩展 - CSDN博客
1.ubuntu16.04中安装RabbitMQ 1).首先必须要有Erlang环境支持 安装之前要装一些必要的库: sudo apt-get install build-essential sud ...
- 【win7】安装php7.3及扩展
php7.3插件php-redisphp-igbinaryphp-amqp [初识RabbitMQ,附RabbitMQ+PHP演示实例]https://www.cnblogs.com/miketwai ...
- Ubuntu 安装 Redis和phpredis扩展
服务器Ubuntu16.04 环境php7.0+Apache /****************************开始安装Redis****************************/ 1 ...
随机推荐
- [硬核] Bootstrap Blazor Table 综合演示例子
知识点: 1.导入导出 2.分页功能 3.增删改查 4.批量删除 5.批量编辑(审核) 6.列排序与列搜索 7.顶部搜索实现所有列搜索 8.高级搜索实现多条件搜索 9.顶部与刷新与视图列 10.实现文 ...
- Echarts 折线图Demo调色12种,可以直接使用~~~
测试Demo代码~~ <template> <div> <div id="myChart" ref="mapBox" style= ...
- ng-alain组件st表格,实现点击表格行变色,或者渲染变色
实现点击表格行变色 html文件 <st #st [data]="data" (change)="changeClick($event)" [column ...
- 0基础搭建基于OpenAI的ChatGPT钉钉聊天机器人
前言:以下文章来源于我去年写的个人公众号.最近chatgpt又开始流行,顺便把原文内容发到博客园上遛一遛. 注意事项和指引: 注册openai账号,需要有梯子进行访问,最好是欧美国家的IP,亚洲国家容 ...
- CesiumJS PrimitiveAPI 高级着色入门 - 从参数化几何与 Fabric 材质到着色器 - 上篇
目录 0. 基础 0.1. 坐标系基础 0.2. 合并批次 1. 参数化几何 1.1. 几何类清单 1.2. 举例 1.3. 纯手搓几何 1.4. *子线程异步生成几何 2. 使用材质 2.1. 外观 ...
- Nginx12 openresty使用lua-resty-http模块
1 简介 https://github.com/ledgetech/lua-resty-http 在lua中操作http请求有两种方式 第一种方式:使用通过ngx.location.capture 去 ...
- 线程基础知识16-线程相关类CyclicBarrier、Semaphore、Exchanger
1 CyclicBarrier 1.1 作用 从字面上的意思可以知道,这个类的中文意思是"循环栅栏".大概的意思就是一个可循环利用的屏障. 它的作用就是会让所有线程都等待完成后才会 ...
- 生成式AI对业务流程有哪些影响?企业如何应用生成式AI?一文看懂
集成与融合类ChatGPT工具与技术,以生成式AI变革业务流程 ChatGPT背后的生成式AI,聊聊生成式AI如何改变业务流程 ChatGPT月活用户过亿,生成式AI对组织的业务流程有哪些影响? 生成 ...
- ASP.NET Core - 请求管道与中间件
1. 请求管道 请求管道是什么?请求管道描述的是一个请求进到我们的后端应用,后端应用如何处理的过程,从接收到请求,之后请求怎么流转,经过哪些处理,最后怎么返回响应.请求管道就是一次请求在后端应用的生命 ...
- Cesium Ellipsoid(十四)
由方程(x/A)^2+(y/b)^2+(z/c)^2=1在笛卡尔坐标系中定义的二次曲面.Cesium主要用来表示行星体的形状.通常使用提供的常量之一,而不是直接构造此对象. 不用new,直接就可以使用 ...




