在 Debian 服务器上为 php 7.4 安装 redis 扩展
Install redis extension for php 7.4 on Debian server
我想在我的 debian 服务器上安装 php7.4-redis。我的php是7.4版本。
当我运行“sudo apt install php7.4-redis”命令时,它显示 404 not found 所以我无法完成我的设置。
但是,我发现该页面有其他版本:
php7.4-redis version
我已经 运行 命令“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?
尝试 运行ning 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
如果您查看 repos listing,您的版本 5.3.2+4.3.0-7+0~20210228.34+debian9~1.gbp893bd4
明显缺失。因此,在 apt update
之后 apt 将知道从哪里加载包。
编辑: 您的系统上有一个来自 php sury 的旧签名密钥,因此无法更新 repo,也无法下载当前版本获得。这是一个 known issue,我在所有主机上都遇到过它。
在链接的 GitHub 线程中,建议的修复是简单 运行 这些命令 (posted by 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 包了。
我想在我的 debian 服务器上安装 php7.4-redis。我的php是7.4版本。
当我运行“sudo apt install php7.4-redis”命令时,它显示 404 not found 所以我无法完成我的设置。
但是,我发现该页面有其他版本: php7.4-redis version
我已经 运行 命令“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?
尝试 运行ning 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
如果您查看 repos listing,您的版本 5.3.2+4.3.0-7+0~20210228.34+debian9~1.gbp893bd4
明显缺失。因此,在 apt update
之后 apt 将知道从哪里加载包。
编辑: 您的系统上有一个来自 php sury 的旧签名密钥,因此无法更新 repo,也无法下载当前版本获得。这是一个 known issue,我在所有主机上都遇到过它。
在链接的 GitHub 线程中,建议的修复是简单 运行 这些命令 (posted by 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 包了。