管理rabbitmq 可以通过rabbitmqctl控制:启停(基本功能),节点,Exchange&queue,用户权限等
命令示意参考http://my.oschina.net/guol/blog/186445<?php
//SERVER
$conn = new AMQPConnection(); //建立连接
if (!$conn->connect())die('Cannot connect');
$channel = new AMQPChannel($conn); //创建会话通道
$exchange = new AMQPExchange($channel); //声明一个交换机
$exchange->setName('exchange1'); //exchange名
$exchange->setType(AMQP_EX_TYPE_DIRECT); //交换类型
$exchange->setFlags(AMQP_DURABLE); //设置持久化
$exchange->declare(); //完成
$exchange->publish(json_encode(array('hello world')), 'key2'); //生产消息到交换机,因为交换机声明的类型所以要接收的话还要绑定同样的KEY
?>
<?php
//CLIENT
$conn = new AMQPConnection(); //建立连接
if (!$conn->connect())
die('Cannot connect');
$channel = new AMQPChannel($conn); //创建会话通道
$queue = new AMQPQueue($channel);//声明一个队列
$queue->setName('queue1'); //queue名
$queue->setFlags(AMQP_DURABLE); //设置持久化
$queue->declare();//创建完成
$queue->bind('exchange1', 'key2'); //绑定到交换机,指定key
while(true) {
if ($message = $queue->get(AMQP_AUTOACK)) {
if ($message) {
var_dump(json_decode($message->getBody(), true));
}
} else {
sleep(10);
}
}
$conn->disconnect();
?>