Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Debian服务器上安装适用于PHP7.4的redis扩展_Php_Redis_Debian_Php 7.4_Phpredis - Fatal编程技术网

在Debian服务器上安装适用于PHP7.4的redis扩展

在Debian服务器上安装适用于PHP7.4的redis扩展,php,redis,debian,php-7.4,phpredis,Php,Redis,Debian,Php 7.4,Phpredis,我想在我的debian服务器上安装php7.4-redis。我的php是7.4版本 当我运行“sudo apt install php7.4-redis”命令时,它显示404未找到,因此我无法完成设置 但是,我发现该页面有其他版本: 我已经运行命令“sudoaptgetupdate”来更新存储库,但是为什么我仍然得到404错误 sudo apt install php7.4-redis Reading package lists... Done Building dependency tree

我想在我的debian服务器上安装php7.4-redis。我的php是7.4版本

当我运行“sudo apt install php7.4-redis”命令时,它显示404未找到,因此我无法完成设置

但是,我发现该页面有其他版本:

我已经运行命令“sudoaptgetupdate”来更新存储库,但是为什么我仍然得到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?

试着运行apt update,然后它就可以工作了

当运行
APT update
时,APT在本地缓存每个存储库中可用的包。如果安装软件包,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更新后
apt将知道从何处加载包

编辑:您的系统上有来自php sury的旧签名密钥,因此无法更新回购协议,也无法获得要下载的当前版本。这是一个,我在所有的主持人面前都面对过

在链接的GitHub线程中,建议的修复方法是简单地运行以下命令():

$apt key del 95BD4743#如果这会引发一个关于该密钥不存在的错误,则可以
$wget-O/etc/apt/trusted.gpg.d/php.gpghttps://packages.sury.org/php/apt.gpg
$apt获取更新

现在您应该可以安装redis软件包了。

我已经运行了命令“apt update”->然后“sudo apt install php7.4-redis”,同样的404没有找到@翁啟豪 我已经更新了我的答案,请记住,张贴你的代码或日志的图片是不可取的,因为这使得你不可能自己运行代码或引用回复中的日志。您可以将其粘贴到原始答案中,也可以使用类似的方法,因为您可以直接通过管道(
apt update | nc termbin.com 9999
)将注释输出到那里。但是,出于文档目的,最好编辑原始问题。