我已经安装了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?
发布于 2022-12-21 09:08:33
您没有使用适当的流,php:8.1是正式流,扩展集最少,在您的示例中,您需要使用php:remi-8.1替代流。
# 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要获得正确的存储库配置和使用,请遵循向导指令
对于甲骨文,我也推荐你读扩展的安装
发布于 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
在最后一步之后,你就可以走了!
https://unix.stackexchange.com/questions/729177
复制相似问题