当前位置:Gxlcms > PHP教程 > 使用PHP访问RabbitMQ消息队列的方法

使用PHP访问RabbitMQ消息队列的方法

时间:2021-07-01 10:21:17 帮助过:17人阅读

这篇文章主要介绍了使用PHP访问RabbitMQ消息队列的方法,结合实例形式分析了RabbitMQ消息队列的相关扩展安装、队列建立、队列绑定、消息发送、消息接收等相关操作技巧,需要的朋友可以参考下

本文实例讲述了使用PHP访问RabbitMQ消息队列的方法。分享给大家供大家参考,具体如下:

扩展安装

PHP访问RabbitMQ实际使用的是AMQP协议,所以我们只要安装epel库中的php-pecl-amqp这个包即可

  1. rpm -ivh http://mirror.neu.edu.cn/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
  2. yum install php-pecl-amqp

交换建立

  1. <?php
  2. $connection = new AMQPConnection();
  3. $connection->connect();
  4. $channel = new AMQPChannel($connection);
  5. $exchange = new AMQPExchange($channel);
  6. $exchange->setName('exchange1');
  7. $exchange->setType('fanout');
  8. $exchange->declare();

队列建立

  1. <?php
  2. $connection = new AMQPConnection();
  3. $connection->connect();
  4. $channel = new AMQPChannel($connection);
  5. $queue = new AMQPQueue($channel);
  6. $queue->setName('queue1');
  7. $queue->declare();

队列绑定

  1. <?php
  2. $connection = new AMQPConnection();
  3. $connection->connect();
  4. $channel = new AMQPChannel($connection);
  5. $queue = new AMQPQueue($channel);
  6. $queue->setName('queue1');
  7. $queue->declare();
  8. $queue->bind('exchange1', 'routekey');

消息发送

  1. <?php
  2. $connection = new AMQPConnection();
  3. $connection->connect();
  4. $channel = new AMQPChannel($connection);
  5. $exchange = new AMQPExchange($channel);
  6. $exchange->setName('exchange5');
  7. $exchange->setType('fanout');
  8. $exchange->declare();
  9. for($i = 0; $i < 2000000; $i++) {
  10. $exchange->publish("message $i", "routekey");
  11. }

消息接收

  1. <?php
  2. $connection = new AMQPConnection();
  3. $connection->connect();
  4. $channel = new AMQPChannel($connection);
  5. $queue = new AMQPQueue($channel);
  6. $queue->setName('queue1');
  7. $queue->declare();
  8. $queue->bind('exchange1', 'routekey');
  9. while (true) {
  10. $queue->consume(function($envelope, $queue){
  11. echo $envelope->getBody(), PHP_EOL;
  12. }, AMQP_AUTOACK);
  13. }

相关推荐:

PHP 消息队列服务

以上就是使用PHP访问RabbitMQ消息队列的方法的详细内容,更多请关注Gxl网其它相关文章!

人气教程排行