両方のパッケージをインストールすると、php7.4がインストールされます。
$ apt install php7.1 php7.1-redis
The following NEW packages will be installed:
apache2 apache2-bin apache2-data apache2-utils ifupdown iproute2 isc-dhcp-client isc-dhcp-common libapache2-mod-php7.1 libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libargon2-0 libatm1 libbsd0 libdns-export162 libedit2
libgdbm3 libisc-export160 liblua5.1-0 libmnl0 libpcre2-8-0 libperl5.22 libsodium23 libssl1.1 libxtables11 netbase perl perl-modules-5.22 php-common php-igbinary php-redis php7.1 php7.1-cli php7.1-common php7.1-json php7.1-opcache
php7.1-readline php7.4-cli php7.4-common php7.4-json php7.4-opcache php7.4-phpdbg php7.4-readline psmisc rename ssl-cert tzdata
個別にインストールすると、php7.4はインストールされません。
$ apt install php7.1
The following NEW packages will be installed:
apache2 apache2-bin apache2-data apache2-utils ifupdown iproute2 isc-dhcp-client isc-dhcp-common libapache2-mod-php7.1 libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libatm1 libbsd0 libdns-export162 libedit2 libgdbm3
libisc-export160 liblua5.1-0 libmnl0 libperl5.22 libssl1.1 libxtables11 netbase perl perl-modules-5.22 php-common php7.1 php7.1-cli php7.1-common php7.1-json php7.1-opcache php7.1-readline psmisc rename ssl-cert tzdata
$ apt install php7.1-redis
The following NEW packages will be installed:
php-igbinary php-redis
なぜ?私はLinuxに初めて触れる人ではありませんが、これらの動作を見たことはありません。
それを試すには、dockerを使用できます。
docker run -it --rm ubuntu:16.04 bash
これらのパッケージには追加のppaが必要なので、次のようになります。
apt update && apt install -y software-properties-common
LC_ALL=C.UTF-8 add-apt-repository -y ppa:ondrej/php && apt-get update
これで行く準備ができました。
答え1
apt
見逃しやすいメッセージを出力してヒントを提供してください。
ちなみに「php7.1-redis」の代わりに「php-redis」を選択してください。
php7.1-redis
存在しないか、むしろダミーパッケージによって提供されますphp-redis
。だからapt
変えなさい
apt install php7.1 php7.1-redis
到着
apt install php7.1 php-redis
2つのパッケージが同時に要求されると、すべての依存関係がapt
考慮され、その場合は仮想交換処理によって中断されます。複数の特定のPHPパッケージで提供されるphp-redis
依存関係の選択は、依存関係を満たす評価順序の最初のパッケージです。それも解決しましたが、おそらく接続が異なるため(PHP 7.4提供、PHP 7.1提供)、「依存関係」がついに満たされたことに気づいていませんでした。phpapi-20190902 | phpapi-20180731 | phpapi-20170718 | phpapi-20160303 | phpapi-20151012 | phpapi-20131226
apt
php7.4-cli
php7.1
phpapi
phpapi-20190902
phpapi-20160303
php7.1
php-redis
php-redis
インストールされると、要件php7.1
がphpapi
満たされたため、apt
何もインストールしようとしません。