RabbitMQ學習(三) --- 使用官網提供的php composer包連接
官網鏈接:
https://www.rabbitmq.com/tutorials/tutorial-one-php.html
https://xiaoxiami.gitbook.io/rabbitmq_into_chinese_php/ying-yong-jiao-cheng/php-ban/1-hello_world
對應的代碼:
https://github.com/rabbitmq/rabbitmq-tutorials/blob/master/php/receive.php
一、安裝composer拓展
新建composer.json文件,添加代碼
{ "require": { "php-amqplib/php-amqplib": "2.6.1" } }
安裝拓展:
composer install
二、使用代碼
消費者代碼receive.php
<?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"; }; $channel->basic_consume('hello', '', false, true, false, false, $callback); while(count($channel->callbacks)) { $channel->wait(); } $channel->close(); $connection->close();
生產者代碼send.php
<?php require_once __DIR__ . '/vendor/autoload.php'; use PhpAmqpLib\Connection\AMQPStreamConnection; use PhpAmqpLib\Message\AMQPMessage; $connection = new AMQPStreamConnection('localhost', 5672, 'guest', 'guest'); $channel = $connection->channel(); $channel->queue_declare('hello', false, false, false, false); $msg = new AMQPMessage('Hello World!'); $channel->basic_publish($msg, '', 'hello'); echo " [x] Sent 'Hello World!'\n"; $channel->close(); $connection->close();
三、使用
先啟動消費者 receive.php 接收消息
再啟動 生產者 send.php 發送消息
本博客地址: wukong1688
本文原文地址:https://www.cnblogs.com/wukong1688/p/13406908.html
轉載請著名出處!謝謝~~