ORACLE 扩展

系统环境

宝塔 、Centos7.7 、php8

准备工作

PHP 官方文档 - oci8
ORACLE 客户端软件下载

windows 安装

下载对应的 oracle 客户端
解压到自定义目录(d:\oracel\)
配置环境变量PATH(d:\oracel\)
配置php.ini(ext=oci8)
重启电脑

Linux 安装

下载后上传至系统指定位置,本文上传到 /usr/local/src 下面了。

执行安装 - 方式一

cd /usr/local/src
##解压客户端 解压后会得到 `instantclient_12_1` 文件夹
unzip instantclient-basic-linux.x64-12.1.0.2.0.zip
unzip instantclient-sdk-linux.x64-12.1.0.2.0.zip
##将文件夹改名
mv ./instantclient_12_1   ./instantclient
cd instantclient
## 创建连接
ln -s libnnz12.so libnnz.so
ln -s libclntsh.so.12.1 libclntsh.so
ln -s libocci.so.12.1 libocci.so
## 安装OCI8扩展
cd ../
tar -zxvf oci8-2.2.0.tgz
cd oci8-2.2.0
/usr/local/php7/bin/phpize
./configure --with-php-config=/usr/local/php7/bin/php-config \
--with-oci8=instantclient,/usr/local/src/instantclient \
make && make install

执行安装 - 方式二

  1. 将其复制到linux中,使用unzip命令解压。
  2. 解压后进入其Disk1目录,可以看到解压内容如下:
  3. 使用chmod 755改变权限后,安装rpm包,命令rpm –ivh 文件名
  4. 根据提示,运行命令/etc/init.d/oracle-xe configure
  5. 端口指定将用于oracle应用程序表达默认即可,回车:
  6. 监听端口默认即可,回车:
  7. 创建sys和system用户名和密码
  8. 是否加载到开机启动项,选择y回车
  9. 等待一会,看到如下界面,就说明64位oracle11g 最简客户端安装完成,下面就需要配置了。
  10. 下来配置oracle环境变量oracle默认安装到
  11. 增加一个oracle.profile文件,用来验证oracle是可以联通oracle服务器。输入:vi oracle.profile增加以下内容:
  12. 编辑好后,source刚刚编辑好的文件,然后我们采用直连的方式来检验是否安装成功
    #检验命令:
    sqlplus 用户名/密码@oracle服务器IP/服务器实例名
    如下图就是验证成功。

安装pdo-oci扩展

#该扩展在php源码扩展包中存在无需额外下载 直接使用即可
cd /usr/local/src
tar -jxvf php-7.3.3.tar.bz2
cd ./php-7.3.3/ext/pdo_oci
/usr/local/php7/bin/phpize
./configure --with-php-config=/usr/local/php7/bin/php-config \
--with-pdo-oci=instantclient,/usr/local/src/instantclient \
make && make install

添加phpini扩展支持

extension=oci8.so
extension=pdo_oci.so
显示如下则说明安装成功

测试效果

编写测试代码

public function getUser(){
        $data =[];
        $sql="select *from inf_vd_patient_visit where sJZH='00082815'";
        $conn = oci_connect('oral','xxxxx','10.87.230.205/orcl','UTF8');
        $stid=oci_parse($conn,$sql);
        if($stid){
            $result=oci_execute($stid);
        }
        while (($row = oci_fetch_assoc($stid)) != false) {
            $data[] = $row;
        }
        var_dump($data);
        oci_free_statement($stid);
        oci_close($conn);      
    }

预览结果

————————————————
版权声明:本文为CSDN博主「我是罗易呀!」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:blog.csdn.net/Qcg0223/article/deta...

本作品采用《CC 协议》,转载必须注明作者和本文链接
秦晓武
讨论数量: 1

麻烦注意下排版,参见《社区文档撰写指南》,谢谢

1个月前 评论
秦晓武 (楼主) 1个月前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!