php rabbmq教程_Php使用RabbitMQ 入门小demo

1.首先需要安装PHP使用的RabbitMQ 包:php-amqplib

composer require php-amqplib/php-amqplib

php必须安装拓展:php_sockets,不然会报错:

The requested PHP extension ext-sockets * is missing from your system. Install or enable PHP"s sockets extension.

2.建立服务端和客户端:

server.php

// +----------------------------------------------------------------------

// | 蜜蜂到店

// +----------------------------------------------------------------------

// | Copyright (c) 2017 http://www.mifengdaodian.com All rights reserved.

// +----------------------------------------------------------------------

// | Author: DB

// +----------------------------------------------------------------------

// | Date Time: 2019/11/25 10:26

// +----------------------------------------------------------------------

// | Description: rabbitMQ服务端

// +----------------------------------------------------------------------

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);

//准备消息

$msg = new AMQPMessage("hello,我要发送的消息内容~~~".time());

//公布消息

$channel->basic_publish($msg, "", "hello");

//关闭通道

$channel->close();

//关闭链接

$connection->close();

客户端文件client.php

// +----------------------------------------------------------------------

// | 蜜蜂到店

// +----------------------------------------------------------------------

// | Copyright (c) 2017 http://www.mifengdaodian.com All rights reserved.

// +----------------------------------------------------------------------

// | Author: DB

// +----------------------------------------------------------------------

// | Date Time: 2019/11/25 10:26

// +----------------------------------------------------------------------

// | Description: rabbitMQ客户端

// +----------------------------------------------------------------------

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);

//闭包回调函数

$callback = function ($msg) {

echo " [x] Received ", $msg->body, "

";

};

//消费队列消息

$channel->basic_consume("hello", "", false, true, false, false, $callback);

//等待消息

while ($channel->is_consuming()) {

$channel->wait();

}

3.执行client.php  然后执行server.php

在clent.php就能看见server.php队列消息了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值