【发布时间】:2020-08-06 17:34:51
【问题描述】:
我正在运行 Symfony 5,并安装了 redis
pecl 安装 redis
composer 需要 snc/redis-bundle
composer 需要 predis/predis
我的 confg/snc_redis.yml 有
snc_redis:
clients:
default:
type: predis
alias: default
dsn: redis://ops_redis_1
并通过 pecl安装redis
我的代码是:
/**
* @Route("/redis/set/{key}/{value}")
*/
public function redisSet(string $key, string $value) {
$this->redisClient->set($key, $value);
return new Response("Adding key " . $key . ' with value ' .$value);
}
我收到此错误消息:
警告:Snc\RedisBundle\Client\Phpredis\Client::zAdd($key, $score1, $value1, $score2 = NULL, $value2 = NULL, $scoreN = NULL, $valueN = NULL) 的声明应该兼容 Redis::zAdd($key, $score, $value, ...$extra_args)
这是什么意思?那个phpredis客户端不兼容原生php redis?
以前有人遇到过这种情况吗?
【问题讨论】:
-
似乎存在与
snc/redis-bundle相关的向后兼容性问题。这里有一些讨论github.com/snc/SncRedisBundle/issues/399 -
我明白了,讨论变得越来越复杂,给出的解决方案并不让我满意,有些人在试图修复 composer.lock 中的 phpredis 版本,其他人认为 pecl redis 版本应该修复为 3.xxx,一个是提供一个新的 Client.php 版本来管理通过 conf 文件...即使 symfony 缓存不处理高级 Redis 选项我想我会删除 snc/redis 并使用它,因为 Redis 最有趣的是缓存功能...谢谢帮助