赞
踩
今天遇到了一個難題,就是我的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:
成功會出現這個畫面
- 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檔
謝謝大家~~
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。