Centos7/8 安裝Oracle instant Client (本文只教如何取得oca8.so)

1 篇文章 0 订阅
1 篇文章 0 订阅

今天遇到了一個難題,就是我的Php裡面沒有oci8.so 

不能連接Oracle DB.......OMO OMO

爬了很久的文,終於找到解決方法

----------------------------------------------------------------------------------

首先要去Oracle 下載Basic , devel 

這次我用的版本是19.6(可以用較低的版本,方法一樣的)

wget https://download.oracle.com/otn_software/linux/instantclient/19600/oracle-instantclient19.6-basic-19.6.0.0.0-1.x86_64.rpm

wget https://download.oracle.com/otn_software/linux/instantclient/19600/oracle-instantclient19.6-devel-19.6.0.0.0-1.x86_64.rpm

然後用 rpm -ivh XXXXX.rpm 安裝,這邊一定要用-ivh 才有辦法安裝~ 

rpm -ivh oracle-instantclient19.6-basic-19.6.0.0.0-1.x86_64.rpm

rpm -ivh oracle-instantclient19.6-devel-19.6.0.0.0-1.x86_64.rpm

安裝後,檢查這個folder有沒有存在

basic: /usr/share/oracle/19.6/client64

devel:/usr/include/oracle/19.6/client64

如果你檢查後都有的話,可以繼續了~

先回到~ , 再修改PATH

cd ~

vim ~/.bashrc

裡面加入這2行

export ORACLE_HOME=/usr/lib/oracle/19.6/client64
export LD_LIBRARY_PATH=$ORACLE_HOME/lib

:wq 存檔後 ldconfig 生效

去下載php 資源包 

我用的版本是php7.2.24 (可以用php -v 看php 版本)

前往下載資源包: 點我

下載tar.bz2

wget https://www.php.net/distributions/php-7.2.24.tar.bz2

tar xjf php-7.2.24.tar.bz2

cd php-7.2.24/ext/oci8  

因為我只需要用到oci8.so ,所以就轉到oci8 去了,如果你要用pdo_oci 那些,就轉到那邊去

接著下來

phpize

可能這邊會出現以下error:

  1. The php-devel package is required for use of this command.
  2. (php7 以上可以用dnf install php-devel /yum install php-devel)
  3. (php5 的不能直接安裝php-devel ,可以從這裡 找需要的源包 wget 下載後一樣用rpm -ivh 安裝)

成功會出現這個畫面

Configuring for:
PHP Api Version:         20170718
Zend Module Api No:      20170718
Zend Extension Api No:   320170718
./configure

會自動compile 裡面的文件

make 

make install

如果你出現oci.h 找不到這文件 ,那你需要在Makefile 加入這行

vim Makefile

....
EXTRA_INCLUDES = -I/usr/include/oracle/19.6/client64

如果成功就可以進行最後一步

make install

就會出現

oci8.so 就出現在上面的Folder裡面,如果不在這裡面,需要把它移到裡面,再php.ini 加入這個.so檔

謝謝大家~~

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值