转载地址:http://blog.csdn.net/u014071426/article/details/53649226

官方教程链接地址:
http://www.rabbitmq.com/tutorials/tutorial-one-php.html
首先进行安装:
windows下的php rabbit mq安装、配置
composer入门
将composer.json文件放在你的项目中
composer.json
{"require":{"php-amqplib/php-amqplib":"2.5.*"}}
将composer进行全局安装之后在项目所在目录执行:composer install即可下载RabbitMq所需库文件。
全部下载之后的目录结构为:
(composer.json文件存放在rabbit(我的项目名称)目录中)
下面是一个简单的“Hello World”测试程序
如图所示:“P”是消息发布者,“C”是消息的消费者,中间红色的是我们的队列,这是一个消息的缓存区
首先构建一个发送消息的文件send.php,即“P”,发布消息
    //引用所需文件  require_once __DIR__ . '/vendor/autoload.php';  use PhpAmqpLib\Connection\AMQPStreamConnection;  use PhpAmqpLib\Message\AMQPMessage;  //建立一个连接通道,声明一个可以发送消息的队列hello  $connection = new AMQPStreamConnection('localhost', 5672, 'guest', 'guest');  $channel = $connection->channel();  $channel->queue_declare('hello', false, false, false, false);  //定义一个消息,消息内容为Hello World!  $msg = new AMQPMessage('Hello World!');  $channel->basic_publish($msg, '', 'hello');  //发送完成后打印消息告诉发布消息的人:发送成功  echo " [x] Sent 'Hello World!'\n";  //关闭连接  $channel->close();  $connection->close();  
接着我们需要接受消息,创建一个文件:reveive.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";  };  //在接收消息的时候调用$callback函数  $channel->basic_consume('hello', '', false, true, false, false, $callback);  while(count($channel->callbacks)) {  $channel->wait();  }  
分别运行send.php和receive.php

消息队列-RabbitMq(PHP)相关推荐

  1. 初识消息队列/RabbitMQ详解

    欢迎大家阅读<朝夕Net社区技术专刊> 我们致力于.NetCore的推广和落地,为更好的帮助大家学习,方便分享干货,特创此刊!很高兴你能成为忠实读者,文末福利不要错过哦! 今天来给大家分享 ...

  2. 消息队列RabbitMQ的使用

    最近在学习spring cloud微服务,当学习到spring cloud bus的时候,涉及到了消息队列,需要学习RabbitMQ. 一.消息队列 1.1介绍消息队列 消息队列,即MQ,Messag ...

  3. 消息队列RabbitMQ入门与PHP实战

    消息队列介绍以及消息队列应用场景 RabbitMQ 说明 MQ(Message Queue) 即消息队列,是应用间的通信方式,消息发送后可立即返回,由消息系统来确保消息的可靠传递."消息队列 ...

  4. 快速掌握消息队列RabbitMQ

    ※快速掌握消息队列RabbitMQ 一.RabbitMQ概述 (一)什么是消息队列MQ 消息队列(Message Queue),后文称MQ,是一种 跨进程的通信机制,用于上下游传递消息. MQ作为消息 ...

  5. 谷粒商城12——购物车模块、消息队列RabbitMQ

    文章目录 十.购物车模块 1.需求分析 2.封装vo 3.添加商品 4.查询购物车 5.选中商品 6.在购物车修改商品数量 7.在购物车删除商品 十一.消息队列RabbitMQ 1.场景分析 2.概述 ...

  6. RabbitMQ总结(一)--消息队列RabbitMQ应答模式(自动、手动)

    原文链接 消息队列RabbitMQ应答模式(自动.手动) 为了确保消息不会丢失,RabbitMQ支持消息应答.消费者发送一个消息应答,告诉RabbitMQ这个消息已经接收并且处理完毕了.RabbitM ...

  7. 消息队列RabbitMQ之初学者

    文章目录 消息队列 什么是消息队列 生产者和消费者 AMQP和JMS AMQP和JMS的区别 常见的MQ产品 RabbitMQ Erlang语言 RabbitMQ下载 什么是消息队列RabbitMQ? ...

  8. SpringCloud源码探析(六)-消息队列RabbitMQ

    1.概述 RabbitMQ是一个开源的消息代理和队列服务器,它是基于Erlang语言开发,并且是基于AMQP协议的.由于Erlang语言最初使用与交换机领域架构,因此使得RabbitMQ在Broker ...

  9. 消息队列 RabbitMQ

    前言 市面上的消息队列产品有很多,比如老牌的 ActiveMQ.RabbitMQ ,目前我看最火的 Kafka ,还有 ZeroMQ ,阿里巴巴捐赠给 Apache 的 RocketMQ ,连 red ...

  10. 分布式消息队列 — RabbitMQ(3)

    目录 文章目录 目录 前文列表 前言 通道 Channel 一个基本的生产者/消费者实现 消费者 生产者 运行结果 应用预取计数 应用 ACK 机制 最后 前文列表 快速入门分布式消息队列之 Rabb ...

最新文章

  1. 基于jquery的serializeArray
  2. 认识AndEngine选自Android 2D游戏引擎AndEngine快速入门教程
  3. Oracle 工具权限二
  4. Oracle 原理:高水位线、PCTFREE、PCTUSED、索引组织表、簇表、临时表
  5. Learning to Learn:图神经网络上的元学习
  6. python bootstrap 视频_想用Django+ Bootstrap写一个网站, 有哪些比较系统完整的书或者视频可以参考?...
  7. Java分割字符split与StringTokenizer
  8. 服务器Raid数据恢复成功案例和raid 5数据恢复算法原理
  9. Java特点是支持引用类型_Java四种引用类型:强、软、弱、虚
  10. 使用 IntelliJ IDEA打包Spark应用程序
  11. 如何提高Android代码的安全性
  12. logstash 吞吐量优化_logstash吞吐率优化
  13. csdn中下载资源入口查找
  14. 小程序场景二维码扫码
  15. QT控件 之(TreeView)实现右键菜单栏功能,双击事件能实现区分不同的节点的点击效果
  16. css 平移到某个位置_CSS3 对象平移translate()translatex()translatey()应用实例,包括水平垂直居中...
  17. 右击文件转圈卡住、刷新、白屏、闪退、桌面崩溃的通用解决方法
  18. 张量的概念及基本运算
  19. 从20+分公司的签约,看中通云仓的“数字商流”
  20. 个人IP「Android大强哥」上线啦!

热门文章

  1. Python numpy hstack() vstack() stack() dstack() vsplit() concatenate()函数用法和区别
  2. docker查询占用端口号服务命令
  3. matlab 角域重采样,matlab滤波技术与区域处理---区域滤波
  4. sentry 命令_sentry(二)集成sourcemap
  5. 时间相差8小时、GMT、UTC、CST、CET关系
  6. Mabatis 源码探究(2)Java 获取mybatis-config.xml的输入流 inputStream对象
  7. 文件服务器文件多备份方案,windows文件服务器冗余备份方案.doc
  8. 数据双向绑定_手把手教你用JavaScript如何实现数据双向绑定
  9. 部门角色权限rbac_k8s十 | 一文读懂基于角色的权限控制RBAC
  10. python程序员搞笑段子_程序员才能看得懂的段子,内含表情包,吃饭的时候别点!...