它曾经有效,但现在不再有效了!
我正在使用 php-amqplib 和 RabbitMQ。
当我尝试创建新的 AMQP 连接时:
$connection = new AMQPConnection('localhost', 5672, 'username', 'password');
导致此错误的库内的代码是:
public function read($n)
{
$res = '';
$read = 0;
while ($read < $n && !feof($this->sock) &&
(false !== ($buf = fread($this->sock, $n - $read)))) {
if ($buf === '') {
continue;
}
$read += strlen($buf);
$res .= $buf;
}
if (strlen($res)!=$n) {
throw new AMQPRuntimeException("Error reading data. Received " .
strlen($res) . " instead of expected $n bytes");
}
return $res;
}
当我把它放在异常之前时:
die($res." :".$n);
结果是:
Ï :7 :7
它被调用两次,第一次调用 $res 是两个空字符,然后是“Ï”
在第二次调用中它只是空。
哦,我手动删除了一次rabbitmq数据库的mnesia文件夹内的文件,我不知道这是否导致了问题,但是RabbitMQ Management是一个在端口15672上运行的基于Web的应用程序,工作正常。
我找到了解决方案。
我使用的用户无权访问虚拟主机,因此在 RabbitMQ 管理中,我转到管理选项卡并单击用户名,然后单击“设置权限”按钮。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)