zoukankan      html  css  js  c++  java
  • 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 PhpAmqpLibConnectionAMQPStreamConnection;
    use PhpAmqpLibMessageAMQPMessage;
    
    $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."
    ";
    }
    
    $channel->close();
    $connection->close();

     receive.php

    <?php
    
    require_once __DIR__ . '/vendor/autoload.php';
    use PhpAmqpLibConnectionAMQPStreamConnection;
    
    $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
    ";
    
    $callback = function ($msg) {
        echo ' [x] Received ', $msg->body, "
    ";
    };
    $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

     测试效果图

  • 相关阅读:
    基本数据类型
    概率—基础基本概念
    3.21上午
    3.10下午
    贪心算法回顾
    学习wait、notify和synchronized及Lock
    使用Files更优雅的对文件操作
    Linux下常用命令整理
    Unix下日志操作、访问GET请求
    操作Unix下docker中的redis
  • 原文地址:https://www.cnblogs.com/kala00k/p/13379113.html
Copyright © 2011-2022 走看看