php rabbitmq发送端,发送消息。
<?php
require_once __DIR__ . '/vendor/autoload.php';
use PhpAmqpLib\Connection\AMQPStreamConnection;
use PhpAmqpLib\Message\AMQPMessage;
$exchange = ''; // 默认交换器
$queue = 'kaaloo';
$routing_key = 'hello';
// 连接RabbitMQ服务器
$connection = new AMQPStreamConnection('192.168.1.7', 5672, 'admin', '123456', '/');
$channel = $connection->channel();
// 声明一个队列
// QUEUE_NAME 队列名
// PASSIVE 检测队列是否存在,ture 只检测不创建, false 创建
// DURABLE 是否持久化队列,true为持久化
// EXCLUSIVE 是否设置成私有队列,限制其他用户访问,设置true将会变成私有
// AUTO_DELETE 队列绑定的全部消费链接断开后,是否自动删除队列
//$channel->queue_declare(QUEUE_NAME, PASSIVE, DURABLE, EXCLUSIVE, AUTO_DELETE);
$channel->queue_declare($queue, false, false, false, false);
// 定义消息,消息体为hello world
// $data 消息体
$body = 'Hello World!';
// $body 消息体
// $arr 消息属性 投递模式 delivery mode 设置为 2 标记持久化
// $msg = new AMQPMessage($body, $arr);
$msg = new AMQPMessage($body, array('content_type' => 'text/plain', 'delivery_mode' => AMQPMessage::DELIVERY_MODE_PERSISTENT));
// 发送消息到交换器,交换器为默认交换器(空交换器),路由键为$routing_key
// $message 消息内容
// $exchange 交换器名称
// routing_key 路由键 (routing key) 主题交换机会用到
//$channel->basic_publish($msg, $exchange, $routing_key);
$channel->basic_publish($message, $exchange, $routing_key);
echo " [x] Sent 'Hello World!'\n";
// 关闭信道
$channel->close();
//关闭 amqp 连接
$connection->close();
发表评论 取消回复