PHP 安装 oracle扩展

7 篇文章 1 订阅

服务器环境:ubuntu(其它服务器也可参考) PHP版本:5.6.40(其它版本也可参考)

  1. 准备安装包

    oracle下载这两个(版本可自选择):
    官网下载地址:https://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html
    instantclient-basic-linux.x64-12.1.0.2.0.zip
    instantclient-sdk-linux.x64-12.1.0.2.0.zip
    php扩展oci8下载(版本可自选择):
    官网下载地址:http://pecl.php.net/package/oci8
    oci8-2.0.12.tgz(根据PHP版本找对应的安装包)

  2. 将准备好的安装包上传到服务器
    这里上传到目录:/home 下

  3. 开始安装

##解压安装包
unzip instantclient-basic-linux.x64-12.1.0.2.0.zip
unzip instantclient-sdk-linux.x64-12.1.0.2.0.zip
tar -xvf oci8-2.0.12.tgz

检查:进入解压后的目录 instantclient_12_1 查看sdk 是否存在
在这里插入图片描述

##做下软链接
cd instantclient_12_1
ln -s libnnz12.so libnnz.so
ln -s libclntsh.so.12.1 libclntsh.so
ln -s libocci.so.12.1 libocci.so
##将instantclient_12_1 改名移动到 /usr/local/lib/instantclient (可自行变动目录)
mv ./instantclient_12_1 /usr/local/lib/instantclient
##进入oci8目录
cd oci8-2.0.12
##执行phpize命令,该路径是指php的安装目录中有个phpize,可以通执行find / -name phpize 查找 phpize
/usr/local/php/bin/phpize
## 通过 find / -name php-config 查找位置
./configure --with-php-config=/usr/local/php/bin/php-config --with-oci8=shared,instantclient,/usr/local/lib/instantclient,12.1
make
make install

修改 php.ini,增加 extension=oci8.so,可以通 find / -name oci8.so 查找,填写绝对路径
最后,重启PHP,查看oci8 的命令 php -m

报错解决方案:
PHP Warning: PHP Startup: Unable to load dynamic library ‘/usr/lib/php/20131226/oci8.so’ - libnnz10.so: cannot open shared object file: No such file or directory in Unknown on line 0

##添加 /usr/local/lib/instantclient
vi /etc/ld.so.conf

在这里插入图片描述

  1. 测试连接oracle
<?php
$conn = oci_connect('用户名', '密码', 'IP地址:端口/数据库名');
if (!$conn) {
  $e = oci_error();
  print htmlentities($e['message']);
  exit;
}else {
  echo "连接oracle成功!";
}
?>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值