本文实例讲述了使用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.rpm yum install php-pecl-amqp
交换建立
connect(); $channel = new AMQPChannel($connection); $exchange = new AMQPExchange($channel); $exchange->setName('exchange1'); $exchange->setType('fanout'); $exchange->declare();
队列建立
connect(); $channel = new AMQPChannel($connection); $queue = new AMQPQueue($channel); $queue->setName('queue1'); $queue->declare();
队列绑定
connect(); $channel = new AMQPChannel($connection); $queue = new AMQPQueue($channel); $queue->setName('queue1'); $queue->declare(); $queue->bind('exchange1', 'routekey');
消息发送
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"); }
消息接收
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); }
永劫无间手游测试服 安卓版v1.0.262342
下载永劫无间手游台服 安卓版v1.0.262342
下载永劫无间手游国际服 安卓版v1.0.262342
下载永劫无间手游豌豆荚版 安卓版v1.0.262342
下载曼德拉男孩 最新版v2025.1.1
曼德拉男孩是一款专为女性玩家准备的治愈类恋爱游戏,在这里玩家
游戏开发者无限金币版 最新版v1.0.16
游戏开发者内置菜单版是一款非常好玩的模拟经营类手游,内部有功
没有中间商赚差价内购版 最新版v23.7.3
没有中间商赚差价免广告是一款非常好玩的模拟经营类手游,无需看
我的世界某不科学的空岛下载mcbbs 最新版v隔壁老王
我的世界某不科学的空岛整合包是一款像素风格的模拟沙盒游戏,该
洗衣店模拟器无限钞票免广告版 v2.2.2
洗衣店模拟器无限钞票版是一款模拟经营类手游,玩家们将在游戏中