消费者代码consumer.php
<?php
$config = array(
'host' => '192.168.75.132',
'vhost' => '/',
'port' => 5672,
'login' => 'test',
'password' => 'test'
);
$cnn = new AMQPConnection($config);
if (!$cnn->connect()) {
echo "Cannot connect to the broker";
exit();
}
$ch = new AMQPChannel($cnn);
$ex = new AMQPExchange($ch);
$routingKey = 'key_1';
$exchangeName = 'exchange_1';
$ex->setName($exchangeName);
$ex->setType(AMQP_EX_TYPE_DIRECT);
$ex->setFlags(AMQP_DURABLE);
$ex->declareExchange();
$q = new AMQPQueue($ch);
$q->setName('queue_1');
$q->setFlags(AMQP_DURABLE);
$q->declareQueue();
$q->bind($ex->getName(), $routingKey);
function receive($envelope, $queue) {
sleep(2);
echo $envelope->getBody()."\n";
$queue->ack($envelope->getDeliveryTag());
}
$q->consume("receive");

生产者代码publisher.php
<?php
$config = array(
'host' => '',
'vhost' => '/',
'port' => 5672,
'login' => 'test',
'password' => 'test'
);
$cnn = new AMQPConnection($config);
if (!$cnn->connect()) {
echo "Cannot connect to the broker";
exit();
}
$ch = new AMQPChannel($cnn);
$ex = new AMQPExchange($ch);
$routingKey = 'key_1';
$exchangeName = 'exchange_1';
$ex->setName($exchangeName);
$ex->setType(AMQP_EX_TYPE_DIRECT);
$ex->setFlags(AMQP_DURABLE);
$ex->declareExchange();
for ($i=1;$i<=10;$i++){
$msg = array(
'data' => 'message_'.$i,
'hello' => 'world',
);
echo "Send Message:".$ex->publish(json_encode($msg), $routingKey, AMQP_NOPARAM, array('delivery_mode' => 2))."\n";
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端