首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在web浏览器上使用php-amqplib rabbitMQ

如何在web浏览器上使用php-amqplib rabbitMQ
EN

Stack Overflow用户
提问于 2015-01-09 21:15:28
回答 1查看 1K关注 0票数 8

我正在尝试使用php-amqplib来发送和接收消息。它可以在终端上进行发送/接收。但是当转到web浏览器时,无法从队列中接收到消息,它会不断地等待消息。我在receive.php中使用了以下代码

代码语言:javascript
复制
require_once(__DIR__ . '/lib/php-amqplib/amqp.inc');
include_once(__DIR__ . '/config/config.php');
$connection = new AMQPConnection(HOST, PORT, USER, PASS, VHOST);
$channel = $connection->channel();
$channel->queue_declare('test22');    
$callback = function($msg){
echo $msg->body;
};    
$channel->basic_consume('test22', 'consumer_tag', false, true, false, false, $callback);

while(count($channel->callbacks)) {
$channel->wait();
}    
$channel->close();
$connection->close();

如果我使用下面的函数而不是回调函数,但不从队列中使用,它会从队列中获取第一条消息

代码语言:javascript
复制
$abc=$channel->basic_get("test22", false, 2);    
if(!empty($abc))
{
print_r($abc->body);
} 

这意味着消息在队列'test22‘中可用。给我点线索。

EN

回答 1

Stack Overflow用户

发布于 2015-01-17 03:31:02

echo $msg->body;更改为error_log($msg->body); (或您正在使用的其他登录系统)。我想您可能会在日志中看到这些消息。在web浏览器上,页面已经加载,因此即使脚本正在接收消息,它也不会更改。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27861418

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档