这是我作为读者一段时间以来的第一个问题。我的问题是关于cakephp 3.6和RabbitMQ php-amqplib库。我正在使用cloudamqp作为代理。
使用带有php-amqplib的原始php文件,我可以通过以下方式轻松检索结果:
$callback = function ($msg) {
$msgBod = json_decode($msg->body);
echo $msgBod->email;
};
$consumerTag = 'local.mbp';
$channel->basic_consume($Rmqqueue,$consumerTag,false,true,false,false,$callback);
在cakephp 3.6中,调用类似这样的函数:
public function consumer()
{
$consumerTag = 'local.mbp';
$channel->basic_consume(
$Rmqqueue,
'',
false,
true,
false,
false,
$this->rmqprocess()
);
}
public function rmqprocess($message) {
$msgBod = json_decode($message->body);
echo $msgBod->email;
}
即使执行了rmqprocess函数,也提取了cloudamqp的消息,但队列数据没有通过,这导致了空的$ message。我在这里错了吗?
预先感谢您的任何建议:)