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

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

目录
相关文章
|
8月前
|
Oracle 关系型数据库 Linux
【赵渝强老师】Oracle数据库配置助手:DBCA
Oracle数据库配置助手(DBCA)是用于创建和配置Oracle数据库的工具,支持图形界面和静默执行模式。本文介绍了使用DBCA在Linux环境下创建数据库的完整步骤,包括选择数据库操作类型、配置存储与网络选项、设置管理密码等,并提供了界面截图与视频讲解,帮助用户快速掌握数据库创建流程。
730 93
|
7月前
|
Oracle 关系型数据库 Linux
【赵渝强老师】使用NetManager创建Oracle数据库的监听器
Oracle NetManager是数据库网络配置工具,用于创建监听器、配置服务命名与网络连接,支持多数据库共享监听,确保客户端与服务器通信顺畅。
398 0
|
10月前
|
存储 Oracle 关系型数据库
服务器数据恢复—光纤存储上oracle数据库数据恢复案例
一台光纤服务器存储上有16块FC硬盘,上层部署了Oracle数据库。服务器存储前面板2个硬盘指示灯显示异常,存储映射到linux操作系统上的卷挂载不上,业务中断。 通过storage manager查看存储状态,发现逻辑卷状态失败。再查看物理磁盘状态,发现其中一块盘报告“警告”,硬盘指示灯显示异常的2块盘报告“失败”。 将当前存储的完整日志状态备份下来,解析备份出来的存储日志并获得了关于逻辑卷结构的部分信息。
|
8月前
|
Ubuntu 安全 关系型数据库
安装与配置MySQL 8 on Ubuntu,包括权限授予、数据库备份及远程连接指南
以上步骤提供了在Ubuntu上从头开始设置、配置、授权、备份及恢复一个基础但完整的MySQL环境所需知识点。
964 7
|
8月前
|
SQL Oracle 关系型数据库
Oracle数据库创建表空间和索引的SQL语法示例
以上SQL语法提供了一种标准方式去组织Oracle数据库内部结构,并且通过合理使用可以显著改善查询速度及整体性能。需要注意,在实际应用过程当中应该根据具体业务需求、系统资源状况以及预期目标去合理规划并调整参数设置以达到最佳效果。
577 8
|
10月前
|
SQL Oracle 关系型数据库
比较MySQL和Oracle数据库系统,特别是在进行分页查询的方法上的不同
两者的性能差异将取决于数据量大小、索引优化、查询设计以及具体版本的数据库服务器。考虑硬件资源、数据库设计和具体需求对于实现优化的分页查询至关重要。开发者和数据库管理员需要根据自身使用的具体数据库系统版本和环境,选择最合适的分页机制,并进行必要的性能调优来满足应用需求。
489 11
|
10月前
|
Oracle 关系型数据库 数据库
数据库数据恢复—服务器异常断电导致Oracle数据库报错的数据恢复案例
Oracle数据库故障: 某公司一台服务器上部署Oracle数据库。服务器意外断电导致数据库报错,报错内容为“system01.dbf需要更多的恢复来保持一致性”。该Oracle数据库没有备份,仅有一些断断续续的归档日志。 Oracle数据库恢复流程: 1、检测数据库故障情况; 2、尝试挂起并修复数据库; 3、解析数据库文件; 4、导出并验证恢复的数据库文件。
|
关系型数据库 MySQL 网络安全
如何排查和解决PHP连接数据库MYSQL失败写锁的问题
通过本文的介绍,您可以系统地了解如何排查和解决PHP连接MySQL数据库失败及写锁问题。通过检查配置、确保服务启动、调整防火墙设置和用户权限,以及识别和解决长时间运行的事务和死锁问题,可以有效地保障应用的稳定运行。
505 25
|
NoSQL 关系型数据库 PHP
php连接数据库
要使用PHP连接PolarDB或MongoDB数据库,需先准备连接信息,并编写相应代码。对于PolarDB,需设置主机地址、端口、数据库名及凭据,使用`pg_connect`函数建立连接;而对于MongoDB副本集,需安装MongoDB PHP驱动,通过`MongoDB\Client`连接指定的副本集实例。请确保替换示例代码中的占位符为实际值,并正确配置副本集名称和主机信息。更多详细信息与示例代码,请参考相关链接。
373 74
|
SQL 关系型数据库 MySQL
php学习笔记-连接操作mysq数据库(基础)-day08
本文介绍了PHP中连接操作MySQL数据库的常用函数,包括连接服务器、设置字符集、关闭连接、选择数据库、结果集释放、获取影响行数以及遍历结果集等操作。通过书籍查询的实例演示了如何使用这些函数进行数据库操作,并提供了一个PHP操纵MySQL数据库的模板。
php学习笔记-连接操作mysq数据库(基础)-day08

热门文章

最新文章

推荐镜像

更多