生活随笔
收集整理的這篇文章主要介紹了
rabbitmq接收不到消息 防火墙_用PHP+RabbitMQ实现消息的发送和接收
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
消費者:接收消息
邏輯:
創(chuàng)建連接-->創(chuàng)建channel-->創(chuàng)建交換機-->創(chuàng)建隊列-->綁定交換機/隊列/路由鍵-->接收消息
<?php
/*************************************
* PHP amqp(RabbitMQ) Demo - consumer
* Author: Linvo
* Date: 2018/7/30
*************************************/
//配置信息
$conn_args = array('host' => '192.168.1.93','port' => '5672','login' => 'guest','password' => 'guest','vhost'=>'/'
);
$e_name = 'e_linvo'; //交換機名
$q_name = 'q_linvo'; //隊列名
$k_route = 'key_1'; //路由key//創(chuàng)建連接和channel
$conn = new AMQPConnection($conn_args);
if (!$conn->connect()) {die("Cannot connect to the broker!n");
}
$channel = new AMQPChannel($conn);//創(chuàng)建交換機
$ex = new AMQPExchange($channel);
$ex->setName($e_name);
$ex->setType(AMQP_EX_TYPE_DIRECT); //direct類型
$ex->setFlags(AMQP_DURABLE); //持久化
echo "Exchange Status:".$ex->declare()."n";//創(chuàng)建隊列
$q = new AMQPQueue($channel);
$q->setName($q_name);
$q->setFlags(AMQP_DURABLE); //持久化
echo "Message Total:".$q->declare()."n";//綁定交換機與隊列,并指定路由鍵
echo 'Queue Bind: '.$q->bind($e_name, $k_route)."n";//阻塞模式接收消息
echo "Message:n";
while(True){$q->consume('processMessage');//$q->consume('processMessage', AMQP_AUTOACK); //自動ACK應(yīng)答
}
$conn->disconnect();/**
* 消費回調(diào)函數(shù)
* 處理消息
*/
function processMessage($envelope, $queue) {$msg = $envelope->getBody();echo $msg."n"; //處理消息$queue->ack($envelope->getDeliveryTag()); //手動發(fā)送ACK應(yīng)答
}
生產(chǎn)者:發(fā)送消息邏輯:
創(chuàng)建連接-->創(chuàng)建channel-->創(chuàng)建交換機對象-->發(fā)送消息 Continue reading →Posted in 系統(tǒng)架構(gòu) | Tagged amqp, RabbitMQ
windows下安裝rabbitmq的php擴展amqp
1.將php_amqp.dll放在php的ext目錄里,然后修改php.ini文件,在文件的最后面添加兩行
[amqp]
extension=php_amqp.dll
2.將rabbitmq.1.dll文件放在php的根目錄里(也就是ext目錄的父級目錄),然后修改apache的httpd.con文件,文件尾部添加一行
LoadFile "d:/wamp/bin/php/php5.5.12/rabbitmq.1.dll"
這里的路徑根據(jù)情況修改,我這里使用的wampserver軟件。
3.重啟apache,并查看phpinfo信息。只要看到amqp 字樣即可。
以上內(nèi)容希望幫助到大家,很多PHPer在進階的時候總會遇到一些問題和瓶頸,業(yè)務(wù)代碼寫多了沒有方向感,不知道該從那里入手去提升,對此我整理了一些資料,包括但不限于:分布式架構(gòu)、高可擴展、高性能、高并發(fā)、服務(wù)器性能調(diào)優(yōu)、TP6,laravel,YII2,Redis,Swoole、Swoft、Kafka、Mysql優(yōu)化、shell腳本、Docker、微服務(wù)、Nginx等多個知識點高級進階干貨需要的可以免費分享給大家,需要戳這里PHP進階架構(gòu)師>>>視頻、面試文檔免費獲取
或 者關(guān)注我每天分享技術(shù)文章
PHP架構(gòu)師之路?www.zhihu.com
總結(jié)
以上是生活随笔為你收集整理的rabbitmq接收不到消息 防火墙_用PHP+RabbitMQ实现消息的发送和接收的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。