php7.2安装OCI8扩展支持oracle数据库

简介: 做项目的时候,远程的oracle数据库为我们提供一张中间表,我这边业务中的一些数据是需要到oracle数据库中的这张中间表去查询的。PHP连接oracle数据库。需要用到OCI8的扩展。说来惭愧,工作这么多年,还没有正经的使用过oracle数据库。mysql数据库的语法跟oracle数据库的语法是不一样的,别跟我似的上来就用mysql的语法来操作oracle数据库……有点丢人了……今天我们大概记录一下OCI8扩展的安装过程。

做项目的时候,远程的oracle数据库为我们提供一张中间表,我这边业务中的一些数据是需要到oracle数据库中的这张中间表去查询的。

PHP连接oracle数据库。需要用到OCI8的扩展。说来惭愧,工作这么多年,还没有正经的使用过oracle数据库。

mysql数据库的语法跟oracle数据库的语法是不一样的,别跟我似的上来就用mysql的语法来操作oracle数据库……有点丢人了……

今天我们大概记录一下OCI8扩展的安装过程。

一:下载文件

1:oracle官网下载地址:

www.oracle.com/technetwork…

下载文件(看准了文件名):

复制代码

oracle-instantclient19.8-basic-19.8.0.0.0-1.x86_64.rpm
oracle-instantclient19.8-devel-19.8.0.0.0-1.x86_64.rpm

2:PHP官网下载地址:

www.php.net/manual/zh/o…

PHP-OCI8插件

下载命令:

arduino

复制代码

wget http://pecl.php.net/get/oci8-2.2.0.tgz

建议将以上三个文件放入/opt目录下,当然,具体放哪是你的自由。能找到就行。

二:安装

1:安装oracle插件

复制代码

rpm -ivh oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm
rpm -ivh oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm

可能会报错:

ImportError: libaio.so.1: cannot open shared object file: No such file or directory”

报错原因上边已经给出,缺少libiao插件,解决方法:

复制代码

yum install libaio

2:安装OCI8插件

(1):解压tar包:

复制代码

tar -zxf oci8-2.2.0.tgz

(2):进入解压目录

bash

复制代码

cd oci8-2.2.0

(3):运行一下命令:

复制代码

phpize

运行的时候可能会出现一下错误:Can't find PHP headers in /usr/include/php The php-devel package is required for use

解决方案

bash

复制代码

yum install php72w-devel #注意一下,这条命令取决你安装的PHP版本,我这个命令并不适用所有人

(4):使用$ORACLE_HOME或Instant Client配置软件包

javascript

复制代码

./configure --with-oci8=shared,instantclient,/usr/lib/oracle/<version>/client/lib

ini

复制代码

./configure -with-oci8=shared,$ORACLE_HOME

(5):执行编译安装:

go

复制代码

make install

这里可能会报错:

make: *** No rule to make target build', needed by default'. Stop.

解决方案:

1:安装如下配置:

go

复制代码

yum -y install make zlib-devel gcc-c++ libtool openssl openssl-devel

2:重新configure

bash

复制代码

./configure

3:编译

go

复制代码

make && make install

(6):配置php.ini

我们在PHP的配置文件php.ini中加上

ini

复制代码

extension=oci8.so

重启PHP

复制代码

systemctl restart php-fpm

重启web服务器(nginx、apache等)。

复制代码

systemctl restart nginx

查看PHPinfo();如下图所示:

image.png

然后,你就可以在你的PHP框架中配置多个数据库链接了。

有好的建议,请在下方输入你的评论。

欢迎访问个人博客:guanchao.site

欢迎访问我的小程序:打开微信->发现->小程序->搜索“时间里的”

目录
打赏
0
0
0
0
16
分享
相关文章
服务器数据恢复—光纤存储上oracle数据库数据恢复案例
一台光纤服务器存储上有16块FC硬盘,上层部署了Oracle数据库。服务器存储前面板2个硬盘指示灯显示异常,存储映射到linux操作系统上的卷挂载不上,业务中断。 通过storage manager查看存储状态,发现逻辑卷状态失败。再查看物理磁盘状态,发现其中一块盘报告“警告”,硬盘指示灯显示异常的2块盘报告“失败”。 将当前存储的完整日志状态备份下来,解析备份出来的存储日志并获得了关于逻辑卷结构的部分信息。
composer如何安装以及举例在PHP项目中使用Composer安装TCPDF库-优雅草卓伊凡
composer如何安装以及举例在PHP项目中使用Composer安装TCPDF库-优雅草卓伊凡
61 3
composer如何安装以及举例在PHP项目中使用Composer安装TCPDF库-优雅草卓伊凡
TCPDF库详解:功能、作用及多语言安装指南-tcpdf可不是只有php能用-优雅草卓伊凡
TCPDF库详解:功能、作用及多语言安装指南-tcpdf可不是只有php能用-优雅草卓伊凡
102 5
【赵渝强老师】Oracle RMAN的目录数据库
Oracle RMAN默认将备份元信息存储在控制文件中,但控制文件损坏或丢失会导致恢复失败,且备份增多会使控制文件无限增长。为解决这些问题,Oracle引入了RMAN目录数据库(Catalog Database),专门用于存储RMAN备份的元信息。使用目录数据库可提升备份管理效率,支持多数据库共享、长期备份历史记录存储,并可保存RMAN脚本。本文详细介绍了如何创建目录数据库、注册目标数据库及其操作步骤。
oracle数据恢复—oracle数据库执行错误truncate命令的数据恢复案例
oracle数据库误执行truncate命令导致数据丢失是一种常见情况。通常情况下,oracle数据库误操作删除数据只需要通过备份恢复数据即可。也会碰到一些特殊情况,例如数据库备份无法使用或者还原报错等。下面和大家分享一例oracle数据库误执行truncate命令导致数据丢失的数据库数据恢复过程。
【Oracle】使用Navicat Premium连接Oracle数据库两种方法
以上就是两种使用Navicat Premium连接Oracle数据库的方法介绍,希望对你有所帮助!
708 28
Oracle linux 8 二进制安装 MySQL 8.4企业版
Oracle linux 8 二进制安装 MySQL 8.4企业版
107 1
|
3月前
|
利用PHP压缩音频:Linux环境下的ffmpeg简易安装指南
希望这个指南能为你的编程之旅提供帮助。只需记住,每一行代码都像音乐的音符,组合在一起,创造出美妙的旋律。祝你编程愉快!
134 6

推荐镜像

更多
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问