这篇文章主要介绍了使用php访问rabbitmq消息队列的方法,结合实例形式分析了rabbitmq消息队列的相关扩展安装、队列建立、队列绑定、消息发送、消息接收等相关操作技巧,需要的朋友可以参考下
本文实例讲述了使用php访问rabbitmq消息队列的方法。分享给大家供大家参考,具体如下:
扩展安装
php访问rabbitmq实际使用的是amqp协议,所以我们只要安装epel库中的php-pecl-amqp这个包即可
rpm -ivh http://mirror.neu.edu.cn/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpmyum install php-pecl-amqp
交换建立
<?php$connection = new amqpconnection();$connection->connect();$channel = new amqpchannel($connection);$exchange = new amqpexchange($channel);$exchange->setname('exchange1');$exchange->settype('fanout');$exchange->declare();
队列建立
<?php$connection = new amqpconnection();$connection->connect();$channel = new amqpchannel($connection);$queue = new amqpqueue($channel);$queue->setname('queue1');$queue->declare();
队列绑定
<?php$connection = new amqpconnection();$connection->connect();$channel = new amqpchannel($connection);$queue = new amqpqueue($channel);$queue->setname('queue1');$queue->declare();$queue->bind('exchange1', 'routekey');
消息发送
<?php$connection = new amqpconnection();$connection->connect();$channel = new amqpchannel($connection);$exchange = new amqpexchange($channel);$exchange->setname('exchange5');$exchange->settype('fanout');$exchange->declare();for($i = 0; $i < 2000000; $i++) { $exchange->publish("message $i", "routekey");}
消息接收
<?php$connection = new amqpconnection();$connection->connect();$channel = new amqpchannel($connection);$queue = new amqpqueue($channel);$queue->setname('queue1');$queue->declare();$queue->bind('exchange1', 'routekey');while (true) { $queue->consume(function($envelope, $queue){ echo $envelope->getbody(), php_eol; }, amqp_autoack);}
相关推荐:
php 消息队列服务
以上就是使用php访问rabbitmq消息队列的方法的详细内容。