gpt4 book ai didi

php - Predis 协议(protocol)错误 : invalid bulk length

转载 作者:IT王子 更新时间:2023-10-29 06:05:57 25 4
gpt4 key购买 nike

我正在使用 predis,一切都很好,直到我开始收到此错误:

ERR Protocol error: invalid bulk length

我不确定我为什么会得到它。错误在这个文件:Predis/Network/StreamConnection.php 这个方法中:

public function writeCommand(ICommand $command) {
$commandId = $command->getId();
$arguments = $command->getArguments();

$cmdlen = strlen($commandId);
$reqlen = count($arguments) + 1;

$buffer = "*{$reqlen}\r\n\${$cmdlen}\r\n{$commandId}\r\n";
for ($i = 0; $i < $reqlen - 1; $i++) {
$argument = $arguments[$i];
$arglen = strlen($argument);
$buffer .= "\${$arglen}\r\n{$argument}\r\n";
}
$this->writeBytes($buffer);
}

尝试对数组执行 strlen() 时失败。

这是导致失败的代码:

$ids = array(1, 2, 3);
$predis = new Predis\Client();

$predis->set('testerKey', $ids);

我不能设置数组吗?当然我可以设置一个数组。我唯一改变的是我将我的文件设为 UTF-8,所以这可能搞砸了什么?

如有任何帮助,我们将不胜感激。

最佳答案

我找到了问题和解决方案。来自 memcached,它会自动序列化数组,这在 PRedis 中是不一样的。在执行 set 或 get 时,PRedis 永远不会序列化任何内容。

https://github.com/nrk/predis/issues/29

关于php - Predis 协议(protocol)错误 : invalid bulk length,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6752894/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com