php - Predis。如何设置西里尔字母键?

标签 php redis predis

我正在尝试执行下一个命令。

Redis::hincrby('sentiment_combined:positive', 'рыжий кот', 1);

此命令非常适用于拉丁键,例如 'orange cat'。但是对于 'рыжий кот' 我有下一个错误:

[Predis\Response\ServerException]         
ERR Protocol error: expected '$', got '�'  <

我已将日志添加到 Predis Predis\Connection\StreamConnection::write()

print_r($buffer);echo "---$written---\n";

然后我在控制台中观察输出:

*2
$6
SELECT
$1
0
---23---
*4
$7
HINCRBY
$27
sentiment_combined:positive
$9
рыжий кот
$1
1
---81---

Redis 支持any keys .如何克服 Predis 中的这个限制?

最佳答案

问题在这里解决:https://github.com/nrk/predis/issues/328

原因在 php.ini 中 mbstring.func_overload = 6。必须是 mbstring.func_overload = 0

关于php - Predis。如何设置西里尔字母键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36887168/

相关文章:

java - 如何将字符串反序列化为 Java 对象

asp.net - 使用 Booksleeve 维护一个开放的 Redis PubSub 订阅

java - PubSub 在 Redis 中不工作

php - 将 'max number of client reached' redis 错误消息更改为 ''

javascript - 文件上传作为表单工作正常,但作为 AJAX 查询返回 403

javascript - 仅在 WordPress 插件中的某些元素 id 上禁用脚本

php - 更新数据库记录不起作用

php - 在php中将文件从一个文件夹移动到另一个文件夹

php - 在 Redis 中存储对象数组并检索它

php - 将 predis 故障转移到 redis 从站的最佳方法是什么?