为什么 Redis 扩展不适用于 PHP 8.2?[复制]

Why is the Redis extension not working with PHP 8.2? [duplicate]

提问人:Vivek 提问时间:6/27/2023 更新时间:6/27/2023 访问量:4070

问:

我在 Windows 8.2.4 x11 上使用带有 XAMPP 的最新稳定版本的 PHP 64。我想在 PHP ext 文件夹中安装 Redis 扩展。但是,在安装 DLL 文件并将其注册到 php.ini 文件后,Redis 安装仍然不会出现在 phpinfo 页面上。此外,它在运行 php -v 时会在命令行上抛出警告。在 PECL 站点中,最新支持的 PHP 版本是 8.1。这是否意味着目前没有办法在 PHP 8.2.4 中使用 redis?

我需要有关如何在具有 PHP 8.2.4 的 Xampp 中安装 Redis 的帮助。

首先,我从与我的机器兼容的 x64 的 PECL 下载了 TS 和 NTS 的 DLL 文件。尽管他们证明的最新版本是针对 PHP 8.1 而不是 PHP 8.2。

enter image description here

然后,我将DLL文件从源文件添加到php / ext文件夹中。

enter image description here

然后我将这个DLL文件注册到php.ini配置文件中。

enter image description here

然后我通过phpinfo()检查了安装。但是没有 Redis 的部分。此外,当我在CLI中运行php -v时,它会发出如下警告。

enter image description here

注意:我已经尝试了线程安全和非线程安全DLL。两者都不起作用。

php redis xampp pecl

评论

0赞 Markus Zeller 6/27/2023
我会使用docker。因此,您可以拥有您喜欢的任何版本的多个实例,并在后台拥有 *nix,这在 Web 开发中更加灵活。
0赞 Vivek 6/27/2023
@pickuse,是的,谢谢。

答:

0赞 pickuse 6/27/2023 #1

看看这篇文章: https://stackoverflow.com/a/76496489/15166658.

似乎有一个可用于 PHP 8.2 的 Redis DLL:

php_redis.dll

此外,据报道,它在 Windows 8.2.1 上的 PHP 3.2.100 和 Redis 11 上运行良好。

更新:

下载地址: https://github.com/phpredis/phpredis/actions/runs/4930167168#artifacts

更新:

phpinfo output

使用简单代码进行测试:execute in simple code

评论

1赞 Nigel Ren 6/27/2023
如果你发现stackoverflow上的另一个答案解决了这个问题,你通常会将其标记为重复并标记要关闭(如果可以的话 - 如果你不能投票关闭,请发表评论)
0赞 Vivek 6/27/2023
不幸的是,给定的DLL不适用于PHP 8.2.4
0赞 pickuse 6/27/2023
@NigelRen,当然,但不幸的是,由于声誉不足,我无法对主要文章发表评论。
0赞 pickuse 6/27/2023
@Vivek,你好!使用正确的 DLL (redis-8.2-x64-ts.zip) 仔细检查。我已经用XAMPP(PHP 8.2.4)测试了它。
1赞 Vivek 6/27/2023
@pickuse,是的,它正在与“TS”一起使用。最初,我只尝试使用“NTS”,因为旧版本的 DLL 仅支持 NTS,不支持 TS。感谢您的解决方案。赞赏。