mac安装rabbitmq及php样例使用

 使用brew安装软件非常便捷,如下命令:

brew install rabbitmq

 安装好后启动rabbitmq:

brew services start rabbitmq

 查看下进程

 

管理后台地址:http://localhost:15672/

默认账号:guest 密码:guest

登陆后页面:

 简单的php使用样例:

composer安装库

composer install php-amqplib/php-amqplib

 

send.php

<?php
require_once __DIR__ . '/vendor/autoload.php';
use PhpAmqpLib\Connection\AMQPStreamConnection;
use PhpAmqpLib\Message\AMQPMessage;

$connection = new AMQPStreamConnection('localhost', 5672, 'guest', 'guest');
$channel = $connection->channel();

$channel->queue_declare('hello', false, false, false, false);
for ($i=0;$i<3;$i++){ //发送三条消息

    $m  = 'Hello World! time now:'.date("H:i:s",time())." ".$i;
    $msg = new AMQPMessage($m);
    $channel->basic_publish($msg, '', 'hello');
    echo $m."\n";
}

$channel->close();
$connection->close();

 

 receive.php

<?php

require_once __DIR__ . '/vendor/autoload.php';
use PhpAmqpLib\Connection\AMQPStreamConnection;

$connection = new AMQPStreamConnection('localhost', 5672, 'guest', 'guest');
$channel = $connection->channel();

$channel->queue_declare('hello', false, false, false, false);

echo " [*] Waiting for messages. To exit press CTRL+C\n";

$callback = function ($msg) {
    echo ' [x] Received ', $msg->body, "\n";
};
$channel->basic_consume('hello', '', false, true, false, false, $callback);
while ($channel->is_consuming()) {
    $channel->wait();
}
$channel->close();
$connection->close();

先启动接收进程 php receive.php,启动后进程挂起

 

 再执行发送消息 php send.php

 

 测试效果图

 

posted @ 2020-09-13 08:17  阿飞afei  阅读(304)  评论(0)    收藏  举报