首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法通过remi存储库在oracle linux 9中安装php-oci8 8。

无法通过remi存储库在oracle linux 9中安装php-oci8 8。
EN

Unix & Linux用户
提问于 2022-12-21 08:41:48
回答 2查看 539关注 0票数 1

我已经安装了remi存储库,但是我无法安装php。因此,我已经通过流安装了php,下面的命令似乎使用了repo。

dnf模块安装php:8.1

现在,我正试图通过remi存储库在oracle linux 9中安装php-oci8 8,但没有成功。php-oci8 8似乎可以在remi:http://rpms.remirepo.net/enterprise/9/php81/x86_64/repoview/php-oci8.html中找到。

我试过这样做:

dnf配置-管理器-启用remi-模块化

yum安装php-oci8

我得到了以下错误:

所有匹配都通过参数的模块化筛选过滤掉: php-oci8 8。

错误:找不到匹配: php-oci8

我不明白是怎么回事。另外,我试过乌鸦和EPEL回复,但我得到了同样的错误信息。有办法用dnf模块安装php-oci8 8吗?或者有没有办法“说服”dnf用remi回购安装php-oci8 8?

EN

回答 2

Unix & Linux用户

回答已采纳

发布于 2022-12-21 09:08:33

您没有使用适当的流,php:8.1是正式流,扩展集最少,在您的示例中,您需要使用php:remi-8.1替代流。

代码语言:javascript
复制
# dnf install php-oci8
Dependencies resolved.
==========================================================================================================================
 Package                   Architecture            Version                            Repository                     Size
==========================================================================================================================
Installing:
 php-oci8                  x86_64                  8.1.13-1.el9.remi                  remi-modular                  134 k
Installing dependencies:
 php-pdo                   x86_64                  8.1.13-1.el9.remi                  remi-modular                  113 k

Transaction Summary
==========================================================================================================================
Install  2 Packages

Total download size: 248 k
Installed size: 941 k
Is this ok [y/N]: y
Downloading Packages:
(1/2): php-oci8-8.1.13-1.el9.remi.x86_64.rpm                                              2.6 MB/s | 134 kB     00:00    
(2/2): php-pdo-8.1.13-1.el9.remi.x86_64.rpm                                               1.2 MB/s | 113 kB     00:00    
--------------------------------------------------------------------------------------------------------------------------
Total                                                                                     2.5 MB/s | 248 kB     00:00     
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                                                  1/1 
  Installing       : php-pdo-8.1.13-1.el9.remi.x86_64                                                                 1/2 
  Installing       : php-oci8-8.1.13-1.el9.remi.x86_64                                                                2/2 
  Running scriptlet: php-oci8-8.1.13-1.el9.remi.x86_64                                                                2/2 
  Verifying        : php-oci8-8.1.13-1.el9.remi.x86_64                                                                1/2 
  Verifying        : php-pdo-8.1.13-1.el9.remi.x86_64                                                                 2/2 
Installed products updated.

Installed:
  php-oci8-8.1.13-1.el9.remi.x86_64                            php-pdo-8.1.13-1.el9.remi.x86_64                           

Complete!

# php --ri oci8

oci8

OCI8 Support => enabled
OCI8 DTrace Support => enabled
OCI8 Version => 3.1.0
Oracle Run-time Client Library Version => 21.8.0.0.0
Oracle Compile-time Instant Client Version => 21.7

要获得正确的存储库配置和使用,请遵循向导指令

对于甲骨文,我也推荐你读扩展的安装

票数 2
EN

Unix & Linux用户

发布于 2022-12-21 09:33:22

这是一个来自不同来源的混合包:使用dnf module install php:8.1应该从Oracle安装php,使用8.1流(我不知道它是如何从Remi中安装的)。

我将向您发送我最近是如何安装php-oci8 8的,但是在Oracle Linux 8上,PHP8.0。理论上,在OL9 + php8.1上没有任何东西可以阻止相同的步骤。

第一步,移除Remi回购。我继续使用Oracle + PHP (pecl添加了PHP扩展)。

/etc/yum.repos.d/或重命名扩展名或enable=0__中删除任何Remi文件,这是您喜欢的删除/禁用repo的方法。然后跑:

dnf check-upgrade

需要这个步骤来删除其他源的任何php包。跟踪已安装的php包;您将再次安装它们,但这次是从Oracle 8.1流中安装的。再加上所有的文件。

dnf list *php*

写下已安装的php和php相关包。

dnf remove {any php - php related packages}

dnf module reset php

启用php8.1流,无论它在8.1版本上是什么

dnf module enable php:8.1

您需要安装php-pear来安装pecl,还需要php-devel,以及在删除之前安装的所有其他php包。

dnf install php php-pear php-devel {plus the rest php packages}

您将被要求提供ORACLE_HOME目录。如果您正在使用Oracle Instant Client进行编译,则使用'instantclient,/path/to/instant/client/lib‘。

sudo pecl install oci8

现在已安装OCI,请与

pecl list

在php.ini中添加OCI扩展

echo extension=oci8.so >> /etc/php.ini

systemctl restart php-fpm.service

OCI 8应出现在这里

php -m |grep -i oci

在最后一步之后,你就可以走了!

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/729177

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档