Установите расширение Redis для php 7.4 на сервер Debian

Я хочу установить php7.4-redis на свой сервер Debian. Мой php версии 7.4.

Когда я запускаю команду sudo apt install php7.4-redis, она показывает, что 404 не найдено, поэтому я не могу завершить настройку.

Однако я обнаружил, что на странице есть другая версия: php7.4-redis версия

Я выполнил команду sudo apt-get update, чтобы обновить репозиторий, но почему я все еще получаю ошибку 404?

sudo apt install php7.4-redis
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
php7.4-igbinary
The following NEW packages will be installed:
php7.4-igbinary php7.4-redis
0 upgraded, 2 newly installed, 0 to remove and 70 not upgraded.
Need to get 142 kB/202 kB of archives.
After this operation, 848 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Err:1 https://packages.sury.org/php stretch/main amd64 php7.4-redis amd64 5.3.2+4.3.0-7+0~20210228.34+debian9~1.gbp893bd4
404  Not Found
E: Failed to fetch https://packages.sury.org/php/pool/main/p/php-redis/php7.4-redis_5.3.2+4.3.0-7+0~20210228.34+debian9~1.gbp893bd4_amd64.deb  404  Not Found
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?

person 翁啟豪    schedule 31.03.2021    source источник


Ответы (1)


Попробуйте запустить apt update, после этого все должно заработать.

APT локально кэширует пакеты, доступные из каждого репозитория, при запуске apt update. Если вы устанавливаете пакет, apt будет использовать этот кеш. Однако, когда пакет обновляется на сервере и старая версия удаляется, apt попытается получить файл, которого больше нет. Об этом свидетельствует следующий вывод журнала:

404  Not Found
E: Failed to fetch https://packages.sury.org/php/pool/main/p/php-redis/php7.4-redis_5.3.2+4.3.0-7+0~20210228.34+debian9~1.gbp893bd4_amd64.deb  404  Not Found

Если вы посмотрите на список репозиториев, ваш Версия 5.3.2+4.3.0-7+0~20210228.34+debian9~1.gbp893bd4 заметно отсутствует. Таким образом, после apt update apt будет знать, откуда загружать пакет.

РЕДАКТИРОВАТЬ: В вашей системе есть старый ключ подписи от php sury, поэтому репозиторий не может быть обновлен, а текущая версия для загрузки не может быть получена. Это известная проблема, я сталкивался с ней на всех своих хостах. .

В связанном потоке GitHub рекомендуемое исправление состояло в том, чтобы просто запустить эти команды (прислал stefanux):

$ apt-key del 95BD4743 # If this throws an error about the key not being present, it's fine
$ wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
$ apt-get update

Теперь вы сможете установить пакет Redis.

person Moritz 'e1mo' Fromm    schedule 31.03.2021
comment
Я выполнил команду apt update -› ibb.co/VNc8HGN, затем sudo apt install php7.4-redis опять тот же 404 не нашел. - person 翁啟豪; 31.03.2021
comment
@ 翁啟豪 Я обновил свой ответ, имейте в виду, что публикация изображений вашего кода или журналов не одобряется, поскольку это делает невозможным запуск кода самостоятельно или цитирование журналов в ответах. Вы можете либо вставить его в исходный ответ, либо использовать что-то вроде termbin.com, поскольку вы можете напрямую передать (apt update | nc termbin.com 9999) вывод комментариев там. Однако для целей документации было бы лучше отредактировать исходный вопрос. - person Moritz 'e1mo' Fromm; 31.03.2021