remi 저장소를 설치했는데 php를 설치할 수 없습니다. 그래서 remi repo를 사용하는 것으로 보이는 다음 명령을 사용하여 스트림을 통해 PHP를 설치했습니다.
dnf 모듈 설치 php:8.1
이제 remi 저장소를 통해 oracle linux 9에 php-oci8을 설치하려고 시도했지만 성공하지 못했습니다. remi 저장소에서 php-oci8을 사용할 수 있는 것 같습니다.http://rpms.remirepo.net/enterprise/9/php81/x86_64/repoview/php-oci8.html
나는 이것을 시도했습니다 :
dnf 구성 관리자 --remi-modular 활성화
냠 php-oci8을 설치하세요
다음 오류가 발생합니다.
모든 일치 항목은 php-oci8 매개변수의 모듈식 필터링을 통해 필터링됩니다.
오류: 일치하는 항목을 찾을 수 없습니다: php-oci8
나는 무엇이 잘못되었는지 이해하지 못합니다. 또한 raven 및 EPEL repos를 시도했지만 동일한 오류 메시지가 나타납니다. php-oci8을 설치하는 방법이 있나요?dnf 모듈? 아니면 dnf가 remi repo를 사용하여 php-oci8을 설치하도록 "설득"할 수 있는 방법이 있습니까?
답변1
올바른 스트림을 사용하고 있지 않습니다.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
적절한 저장소 구성 및 사용을 위해서는 다음을 따르십시오.마법사 지침
Oracle의 경우에도 읽어 보는 것이 좋습니다.PHP용 Oracle 확장 설치
답변2
이는 다양한 소스의 혼합 패키지 문제입니다. dnf module install php:8.1
8.1 스트림을 사용하여 Oracle 저장소에서 설치해야 하는 PHP를 사용합니다(Remi에서 설치하는 방법을 모르겠습니다).
최근 Oracle Linux 8, php 8.0에 php-oci8을 설치한 방법을 보내드리겠습니다. 이론적으로 OL9 + php8.1에서 동일한 단계를 수행하는 것을 방해하는 것은 없습니다.
첫 번째 단계는 Remi 저장소를 삭제하는 것입니다. 저는 Oracle repo + PHP pecl을 계속 사용합니다(pecl은 PHP 확장 기능을 추가합니다).
모두 삭제레미파일을 /etc/yum.repos.d/
확장하거나 이름을 바꾸거나 enable=0
저장소를 삭제/비활성화하는 데 선호하는 방법을 선택하세요. 그런 다음 다음을 실행하십시오.
dnf check-upgrade
이 단계는 다른 소스에서 PHP 패키지를 제거하는 데 필요합니다. 설치한 PHP 패키지를 추적하세요. 이번에는 Oracle 저장소 8.1 스트림에서 다시 설치합니다. 그리고 모든 conf 파일.
dnf list *php*
설치된 PHP 및 PHP 관련 패키지를 기록해 두십시오.
dnf remove {any php - php related packages}
dnf module reset php
8.1 버전의 PHP 패키지에 관계없이 PHP 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
마지막 단계를 완료하면 이제 시작할 준비가 되었습니다!