消息队列-RabbitMq(PHP)
生活随笔
收集整理的這篇文章主要介紹了
消息队列-RabbitMq(PHP)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
轉載地址: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)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C#实现Office文档转Pdf的方法
- 下一篇: windows下安装composer方法