要使用 amqp,您需要遵循以下步骤:安装 amqp 库。使用代码建立与 amqp 代理的连接。创建一个频道。声明一个交换器。声明一个队列。将队列绑定到交换器。发送消息。使用回调函数接收消息。关闭连接。

php 中使用 AMQP 的方法
前言
AMQP(高级消息队列协议)是一种广泛使用的消息队列协议,允许应用程序彼此可靠地交换消息。本文将介绍如何在 PHP 中使用 AMQP。
使用 AMQP 的步骤
1. 安装 AMQP 库
首先,您需要使用 composer 安装 AMQP 库:
立即学习“PHP免费学习笔记(深入)”;
2. 建立连接
使用以下代码建立与 AMQP 代理的连接:
|
1
2
3
4
5
6
7
8
9
|
use PhpAmqpLib\Connection\AMQPStreamconnection;
$host = 'localhost';
$port = 5672;
$user = 'guest';
$password = 'guest';
$vhost = '/';
$connection = new AMQPStreamConnection($host, $port, $user, $password, $vhost);
|
3. 创建频道
创建一个频道来发送和接收消息:
|
1
|
$channel = $connection->channel();
|
4. 声明交换器
交换器负责将消息路由到正确的队列。声明一个交换器:
|
1
2
3
4
5
6
|
$exchangeName = 'my-exchange';
$exchangeType = 'direct';
$passive = false;
$durable = true;
$autoDelete = false;
$channel->exchange_declare($exchangeName, $exchangeType, $passive, $durable, $autoDelete);
|
5. 声明队列
队列存储消息。声明一个队列:
|
1
2
3
4
5
6
|
$queueName = 'my-queue';
$passive = false;
$durable = true;
$exclusive = false;
$autoDelete = false;
$channel->queue_declare($queueName, $passive, $durable, $exclusive, $autoDelete);
|
6. 绑定队列到交换器
将队列绑定到交换器,以便消息可以从交换器流向队列:
|
1
2
|
$bindingKey = 'my-binding-key';
$channel->queue_bind($queueName, $exchangeName, $bindingKey);
|
7. 发送消息
使用以下代码发送消息:
|
1
2
|
$messageBody = 'Hello, world!';
$channel->basic_publish($messageBody, $exchangeName, $routingKey);
|
8. 接收消息
使用回调函数接收消息:
|
1
2
3
|
$channel->basic_consume($queueName, '', false, true, false, false, function(AMQ.envelope $envelope, AMQPMessage $message) {
echo 'Received message: ' . $message->getBody() . PHP_EOL;
});
|
9. 关闭连接
当您完成时,请关闭连接:
|
1
2
|
$channel->close();
$connection->close();
|