• 技术文章 >后端开发 >php教程

    php7.2怎么连接oracle数据库?OCI8扩展的安装

    青灯夜游青灯夜游2022-07-22 14:59:58转载638
    php7.2怎么连接oracle数据库?下面本篇文章给大家介绍一下php7.2安装OCI8扩展支持oracle数据库的方法,希望对大家有所帮助!

    做项目的时候,远程的oracle数据库为我们提供一张中间表,我这边业务中的一些数据是需要到oracle数据库中的这张中间表去查询的。

    PHP连接oracle数据库。需要用到OCI8的扩展。说来惭愧,工作这么多年,还没有正经的使用过oracle数据库。

    mysql数据库的语法跟oracle数据库的语法是不一样的,别跟我似的上来就用mysql的语法来操作oracle数据库……有点丢人了……

    今天我们大概记录一下OCI8扩展的安装过程。

    一:下载文件

    1 :oracle官网下载地址:

    http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html

    下载文件(看准了文件名):

    oracle-instantclient19.8-basic-19.8.0.0.0-1.x86_64.rpm
    
    oracle-instantclient19.8-devel-19.8.0.0.0-1.x86_64.rpm复制代码

    2 :PHP官网下载地址:

    https://www.php.net/manual/zh/oci8.installation.php

    PHP-OCI8插件

    下载命令:

    wget http://pecl.php.net/get/oci8-2.2.0.tgz

    建议将以上三个文件放入/opt目录下,当然,具体放哪是你的自由。能找到就行。

    二:安装

    1 :安装oracle插件

    rpm -ivh oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm
    rpm -ivh oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm

    可能会报错:

    ImportError: libaio.so.1: cannot open shared object file: No such file or directory”

    报错原因上边已经给出,缺少libiao插件,解决方法:

    yum install libaio

    2 :安装OCI8插件

    (1):解压tar包:

    tar -zxf oci8-2.2.0.tgz

    (2):进入解压目录

    cd oci8-2.2.0

    (3):运行一下命令:

    phpize

    运行的时候可能会出现一下错误:Can't find PHP headers in /usr/include/php The php-devel package is required for use

    解决方案

     yum install php72w-devel #注意一下,这条命令取决你安装的PHP版本,我这个命令并不适用所有人

    (4):使用$ORACLE_HOME或Instant Client配置软件包

    ./configure --with-oci8=shared,instantclient,/usr/lib/oracle/<version>/client/lib

    ./configure -with-oci8=shared,$ORACLE_HOME

    (5):执行编译安装:

    make install

    这里可能会报错:

    make: *** No rule to make target build', needed by default'. Stop.

    解决方案:

    1:安装如下配置:

    yum -y install make zlib-devel gcc-c++ libtool openssl openssl-devel

    2: 重新 configure

    ./configure

    3: 编译

    make && make install

    (6):配置php.ini

    我们在PHP的配置文件php.ini中加上

    extension=oci8.so

    重启PHP

    systemctl restart php-fpm

    重启web服务器(nginx、apache等)。

    systemctl restart nginx

    查看PHPinfo();如下图所示:

    1.png

    然后,你就可以在你的PHP框架中配置多个数据库链接了。

    推荐学习:《PHP视频教程

    以上就是php7.2怎么连接oracle数据库?OCI8扩展的安装的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:掘金社区,如有侵犯,请联系admin@php.cn删除
    专题推荐:oracle php
    上一篇:细思极恐?关于in_array的第3个参数 下一篇:怎样利用Dockerfile文件部署PHP项目
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• php怎么判断两数组是否有交集• php输出数组用哪个函数• php二维数组下的一维数组怎么求和• 数组是php中的标量类型吗• php怎么求出数组中成绩不及格的个数
    1/1

    PHP中文网