百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 热门文章 > 正文

centos环境如何编译php7.4的oracle驱动

bigegpt 2024-08-10 12:05 8 浏览

本次使用的环境:

  • CentOS7.9 (CentOS Linux release 7.9.2009 (Core))


  • PHP7.4
  • Oracle 11.2.0.4

安装php7.4

PHP(“PHP: Hypertext Preprocessor”,超文本预处理器的字母缩写)是一种被广泛应用的开放源代码的多用途脚本语言,它可嵌入到 HTML中,尤其适合 web 开发。

这里利用 bt 自带的安装php7.4,不再赘述如何安装。

安装完之后路径类似这样:

安装扩展之前确认 phpize 是否可以运行

phpize简介.

phpize命令是准备php扩展安装的编译环境的。. 用于手动编译安装php扩展。. 一般使用pecl来安装php扩展。. 如果pecl没法安装,比如在防火墙后面,或要安装的扩展在pecl还没有兼容包。. 则使用phpize手动编译安装。

phpize一般随着php的安装默认安装到php的bin目录下。

如果运行phpize缺失libcrypto.so.1.0.0,则需要进行关联。关联的方法

# 查询是否安装 openssl
ls -l /usr/lib64/libcrypto*

# 如果没安装则进行安装 openssl,安装略过
yum install -y openssl-libs.x86_64 openssl-devel.x86_64 openssl-devel.i686 openssl-libs.i686


ls -l /usr/lib64/libcrypto*

ln -s libcrypto.so.1.0.2k /usr/lib64/libcrypto.so.1.0.0
ln -s libssl.so.1.0.2k /usr/lib64/libssl.so.1.0.0


安装php7.4的扩展oci8

什么是oci

这些函数允许您访问 Oracle 数据库。它们支持 SQL 和 PL/SQL 语句。基本功能包括事务控制,PHP绑定 变量到 Oracle 占位符,并支持大型对象 (LOB) 类型 和收藏。Oracle 的可扩展性功能,如数据库驻留 还支持连接池 (DRCP) 和结果缓存。

因为默认安装的已经自带oci,如果需要自己下载,则需要找到对应的版本进行编译。下图是关系映射表

编译代码的步骤,注意区分是自带oracle 还是 oracle client

# oracle home 方式
cd /www/server/php/74/src/ext/oci8
/www/server/php/74/bin/phpize
./configure --with-oci8=shared,/u01/oracle/product/11.2.0/dbhome_1 --with-php-config=/www/server/php/74/bin/php-config
make -j`nproc`


# oracle client方式
cd /www/server/php/74/src/ext/oci8
/www/server/php/74/bin/phpize
./configure --with-oci8=shared,instantclient,/path/to/instant/client/lib
make -j`nproc`

安装完成启用配置 php.ini

[oci8]
extension = oci8.so

安装php7.4的扩展pdo_oci

PDO_OCI DSN — 连接到 Oracle 数据库

PDO_OCI数据源名称 (DSN) 由以下元素组成:

DSN前缀

DSN 前缀是oci:。

dbname(甲骨文即时客户端)

Oracle Instant Client 连接的 URI 采用以下形式。 如果要连接到 中定义的数据库,请仅使用数据库的名称:。dbname=//hostname:port-number/databasetnsnames.oradbname=database

charset

当前环境句柄的客户端字符集。

pdo_oci的安装方式和 oci8的安装方式一样

cd /www/server/php/74/src/ext/pdo_oci
/www/server/php/74/bin/phpize
./configure --with-pdo-oci=shared,/u01/oracle/product/11.2.0/dbhome_1 --with-php-config=/www/server/php/74/bin/php-config
make -j`nproc`
cd /www/server/php/74/src/ext/pdo_oci
/www/server/php/74/bin/phpize
./configure --with-pdo-oci=instantclient,/path/to/instant/client/lib  --with-php-config=/www/server/php/74/bin/php-config
make -j`nproc`

安装完成启用配置 php.ini

[pdo_oci]
extension = pdo_oci.so

配置环境参数

编辑php-fpm.conf文件 下面加如下配置。主要NLS_LANG的编码,使用自己的编码

env[LD_LIBRARY_PATH] = /u01/oracle/product/11.2.0/dbhome_1/lib
env[ORACLE_HOME] = /u01/oracle/product/11.2.0/dbhome_1
env[NLS_LANG] = AMERICAN_AMERICA.ZHS16GBK

代码中如何使用?


相关推荐

10w qps缓存数据库——Redis(redis缓存调优)

一、Redis数据库介绍:Redis:非关系型缓存数据库nosql:非关系型数据库没有表,没有表与表之间的关系,更不存在外键存储数据的形式为key:values的形式c语言写的服务(监听端口),用来存...

Redis系列专题4--Redis配置参数详解

本文基于windowsX64,3.2.100版本讲解,不同版本默认配置参数不同在Redis中,Redis的根目录中有一个配置文件(redis.conf,windows下为redis.windows....

开源一夏 | 23 张图,4500 字从入门到精通解释 Redis

redis是目前出场率最高的NoSQL数据库,同时也是一个开源的数据结构存储系统,在缓存、数据库、消息处理等场景使用的非常多,本文瑞哥就带着大家用一篇文章入门这个强大的开源数据库——Redis。...

redis的简单与集群搭建(redis建立集群)

Redis是什么?是开源免费用c语言编写的单线程高性能的(key-value形式)内存数据库,基于内存运行并支持持久化的nosql数据库作用主要用来做缓存,单不仅仅是做缓存,比如:redis的计数器生...

推荐几个好用Redis图形化客户端工具

RedisPlushttps://gitee.com/MaxBill/RedisPlusRedisPlus是为Redis可视化管理开发的一款开源免费的桌面客户端软件,支持Windows、Linux...

关于Redis在windows上运行及fork函数问题

Redis在将数据库进行持久化操作时,需要fork一个进程,但是windows并不支持fork,导致在持久化操作期间,Redis必须阻塞所有的客户端直至持久化操作完成。微软的一些工程师花费时间在解决在...

你必须懂的Redis十大应用场景(redis常见应用场景)

Redis作为一款高性能的键值存储数据库,在互联网业务中有着广泛的应用。今天,我们就来详细盘点一下Redis的十大常用业务场景,并附上Golang的示例代码和简图,帮助大家更好地理解和应用Redis。...

极简Redis配置(redis的配置)

一、概述Redis的配置文件位于Redis安装目录下,文件名为redis.conf(Windows名为redis.windows.conf,linux下的是redis.conf)你可以通过C...

什么是redis,怎么启动及如何压测

从今天起咱们一起来学习一下关于“redis监控与调优”的内容。一、Redis介绍Redis是一种高级key-value数据库。它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富。...

一款全新Redis UI可视化管理工具,支持WebUI和桌面——P3X Redis UI

介绍P3XRedisUI这是一个非常实用的RedisGUI,提供响应式WebUI访问或作为桌面应用程序使用,桌面端是跨平台的,而且完美支持中文界面。Githubhttps://github....

windows系统的服务器快速部署java项目环境地址

1、mysql:https://dev.mysql.com/downloads/mysql/(msi安装包)2、redis:https://github.com/tporadowski/redis/r...

window11 下 redis 下载与安装(windows安装redis客户端)

#热爱编程是一种怎样的体验#window11下redis下载与安装1)各个版本redis下载(windows)https://github.com/MicrosoftArchive/r...

一款轻量级的Redis客户端工具,贼好用!

使用命令行来操作Redis是一件非常麻烦的事情,我们一般会选用客户端工具来操作Redis。今天给大家分享一款好用的Redis客户端工具TinyRDM,它的界面清新又优雅,希望对大家有所帮助!简介Ti...

一个.NET开发且功能强大的Windows远程控制系统

我们致力于探索、分享和推荐最新的实用技术栈、开源项目、框架和实用工具。每天都有新鲜的开源资讯等待你的发现!项目介绍SiMayRemoteMonitorOS是一个基于Windows的远程控制系统,完...

Redis客户端工具详解(4款主流工具)

大家好,我是mikechen。Redis是大型架构的基石,也是大厂最爱考察内容,今天就给大家重点详解4款Redis工具@mikechen本篇已收于mikechen原创超30万字《阿里架构师进阶专题合集...