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

php7.2怎么连接oracle数据库?下面本篇文章给大家介绍一下php7.2安装OCI8扩展支持oracle数据库的方法,希望对大家有所帮助!

php7.2怎么连接oracle数据库?下面本篇文章给大家介绍一下php7.2安装OCI8扩展支持oracle数据库的方法,希望对大家有所帮助!

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

做项目的时候,远程的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 libaio2 :安装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-devel2: 重新 configure./configure3: 编译make && make install

(6):配置php.ini

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

extension=oci8.so

重启PHP

systemctl restart php-fpm

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

systemctl restart nginx

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

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

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

判断步骤:1、利用array_intersect_assoc()函数比较两个数组的键名和键值,语法“array_intersect_assoc(数组1,数组2)”,会返回一个交集数组;2、利用“===”运算符判断交集数组是否为空,语法“交集数组===[]”,如果交集数组为空则两数组没有交集,如果交集数组不为空则两数组有交集。

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

本教程操作环境:windows7系统、PHP8.1版、DELL G3电脑

在php中,可以利用array_intersect_assoc() 函数和“===”运算符来判断两数组是否有交集。

实现步骤:

步骤1:利用array_intersect_assoc()函数比较数组,求两数组的交集

array_intersect_assoc() 函数用于比较两个(或更多个)数组的键名和键值,并返回包含交集元素的数组(一个交集数组)。

$result=array_intersect_assoc($a1,$a2);

步骤2:利用“===”运算符判断交集数组是否为空

$result===[]

如果交集数组为空则两数组没有交集,如果交集数组不为空则两数组有交集。

完整示例代码:

<?php
header('content-type:text/html;charset=utf-8');
function f($a1,$a2){
$result=array_intersect_assoc($a1,$a2);
var_dump($result);
if($result===[]){
echo '两数组没有交集';
}else{
echo '两数组有交集';
}
}

$a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$a2=array("a"=>"red","b"=>"green","c"=>"blue");
$a3=array("a"=>"1","b"=>"2","d"=>"blue");
var_dump($a1);
var_dump($a2);
echo '$a1 和 $a2对比:';
f($a1,$a2);
echo '<hr>';

var_dump($a2);
var_dump($a3);
echo '$a2 和 $a3对比:';
f($a2,$a3);
?>

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

以上就是php怎么判断两数组是否有交集的详细内容,更多请关注钦钦技术栈其它相关文章!

转载至:php中文网【www.php.cn】

版权声明:本文(即:原文链接:https://www.qin1qin.com/catagory/22957/)内容由互联网用户自发投稿贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 630367839@qq.com 举报,一经查实,本站将立刻删除。

(0)
上一篇 2022年9月18日 下午2:43
下一篇 2022年9月18日 下午2:44
软件定制开发公司

相关阅读

发表回复

登录后才能评论
通知:禁止投稿所有关于虚拟货币,币圈类相关文章,发现立即永久封锁账户ID!