php 编译安装oracel扩展

第一步安装Oracle客户端

1,需要下载基础包和sdk

oracle客户端下载链接:Oracle Instant Client Downloads for Linux x86-64 (64-bit)

https://www.oracle.com/database/technologies/instant-client/linux-x86-64-downloads.html

选择最新版本 version:21.13,基础包和sdk包都默认选的第一个

2.解压文件 将下载的instantclient-basic-linux.x64-21.13.0.0.0.zip以及sdk文件进行解压,本人文件所放的位置是(opt/oracle)

复制代码
cd /opt/oracle 
unzip instantclient-basic-linux.x64-21.13.0.0.0.zip(基础包)

unzip instantclient-basic-SDK-linux.x64-21.13.0.0.0.zip(对应的sdk)

3.安装libaio软件包:安装 libaio 软件包,使用sudo或者root用户,输入sudo apt-get install libaio进行安装,在ubuntu中包名为libaio1(本人的是Ubuntu)

复制代码
sudo apt-get install libaio1

4.添加环境变量 在~/.bashrc文件中添加如下配置

复制代码
vim ~/.bashrc

#然后加入如下配置
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=$ORACLE_BASE/instantclient_21_13
export PATH=$ORACLE_HOME:$PATH
export TNS_ADMIN=$ORACLE_HOME/network/admin
export LD_LIBRARY_PATH=$ORACLE_HOME

保存后运行source ~/.bashrc,使配置文件及时生效,可以通过命令printenv PATH检查配置变量是否生效。

第二步安装PHP扩展

安装 oci8 一点准备(各自需找各自对应版本的php):

复制代码
apt-get install make  //为了后面的编译软件使用 
apt-get install php-pear  //为了得到 pecl 这个程序 
apt-get install php8.2-dev  //为了得到 phpize 这个程序

开始安装

复制代码
 sudo pecl install oci8-2.2.0 // 找到和自己php版本匹配的参考http://pecl.php.net/package/oci8

按提示输入:instantclient,/opt/oracle/instantclient_21_13/

注意:/opt/oracle/instantclient_21_13/是我安装的oracle客户端的路径

按提示,把 extension=oci8.so 添加到 /etc/php/8.2/fpm/php.ini 和 /etc/php/8.2/cli/php.ini 中,可通过 php -m 或 echo phpinfo() 查看

写在最后的注意点:

复制代码
第二步骤注意事项:
1.首先需要下载sdt的安装包和instantclient-basic-linux.x64-21.1.0.0.0.zip放在一起

2.执行pecl install oci8时有出现输入的内容,一定要写对应的路径:instantclient,/opt/oracle/instantclient_21_14/

3.如果pecl install oci8出现版本不对,可在官网https://pecl.php.net/package/oci8查看对应php版本的安装命令

4.如果出现--with-php-config路径不对,需要通过find / -name php-config查找phpize文件路径,根据对应的php版本例如/www/server/php/82/bin/php-config,到/www/server/php/82/bin/文件夹中查看是否有phpize文件,如果没有,则通过apt install php-dev(注意需要安装对应php版本的phpize文件)安装,然后再执行pecl install oci8命令

参考链接: https://www.cnblogs.com/starfish29/p/18009925

https://hefengbao.github.io/helloworld/ubuntu-install-oracle-instant-client-and-oci.html

相关推荐
码云数智-园园7 小时前
微服务架构下的分布式事务:在一致性与可用性之间寻找平衡
开发语言
C++ 老炮儿的技术栈7 小时前
volatile使用场景
linux·服务器·c语言·开发语言·c++
hz_zhangrl7 小时前
CCF-GESP 等级考试 2026年3月认证C++一级真题解析
开发语言·c++·gesp·gesp2026年3月·gespc++一级
Liu628888 小时前
C++中的工厂模式高级应用
开发语言·c++·算法
IT猿手8 小时前
基于控制障碍函数的多无人机编队动态避障控制方法研究,MATLAB代码
开发语言·matlab·无人机·openclaw·多无人机动态避障路径规划·无人机编队
AI科技星8 小时前
全尺度角速度统一:基于 v ≡ c 的纯推导与验证
c语言·开发语言·人工智能·opencv·算法·机器学习·数据挖掘
sunwenjian8868 小时前
Java进阶——IO 流
java·开发语言·python
波特率1152008 小时前
const关键字与函数的重载
开发语言·c++·函数重载
FL16238631298 小时前
[C#][winform]segment-anything分割万物部署onnx模型一键抠图演示
开发语言·c#
百锦再9 小时前
Java 并发编程进阶,从线程池、锁、AQS 到并发容器与性能调优全解析
java·开发语言·jvm·spring·kafka·tomcat·maven