Home >Backend Development >PHP Tutorial >RabbitMQ php 施用

RabbitMQ php 施用

WBOY
WBOYOriginal
2016-06-13 10:30:131211browse

RabbitMQ php 使用

RabbitMQ是一个开源的基于AMQP(Advanced Message Queuing Protocol)标准,并且可靠性高的企业级消息系统,目前很多网站在用,包括reddit,Poppen.de等。

1. 安装RabbitMQsudo apt-get install rabbitmq-serversudo /etc/init.d/rabbitmq-server start

?

?

?

2. 安装librabbitmqsudo apt-get install mercurialhg clone http://hg.rabbitmq.com/rabbitmq-ccd rabbitmq-chg clone http://hg.rabbitmq.com/rabbitmq-codegen codegenautoreconf -i && ./configure && make && sudo make install3. 安装php-rabbit扩展wget http://php-rabbit.googlecode.com/files/php-rabbit.r91.tar.gztar -zxvf php-rabbit.r91.tar.gzcd php-rabbit.r91/path/to/php/bin/phpize./configure –with-amqp –with-php-config=/path/to/php/bin/php-configmake && sudo make install编辑 php.ini 添加:extension=rabbit.so输出phpinfo看下是否扩展已经加载成功,have fun:)

?

?

?

<?php /** * producer demo * * @author wei * @version $Id$ **/$params = array('host' =>'localhost',                'port' => 5672,                'login' => 'guest',                'password' => 'guest',                'vhost' => '/');$cnn = new AMQPConnect($params); // declare Exchange$exchange = new AMQPExchange($cnn);$exchange->declare('ex1', 'topic', AMQP_DURABLE ); // declare Queue$queue = new AMQPQueue($cnn);  $queue->declare('queue1', AMQP_DURABLE);  // bind Queue$queue->bind('ex1','wei.#'); // publishing$msg = "msg"; for ($i=0; $i publish($i . 'msg', 'wei.' . $i);    if ($res) {        echo $i . 'msg' . " Yes\n";    } else {        echo $i . 'msg' . " No\n";    }} ?>consumer:?View Code PHP<?php /** * consumer demo * * @author wei * @version $Id$ **/$params = array('host' =>'localhost',                'port' => 5672,                'login' => 'guest',                'password' => 'guest',                'vhost' => '/');$cnn = new AMQPConnect($params); // create the Queue$queue = new AMQPQueue($cnn, 'queue1');$queueMessages = $queue->consume(100); foreach($queueMessages as $item) {    echo "$i.$item\n";}?>

?

?

?

参考:
http://www.rabbitmq.com/install.html
http://blog.ftofficer.com/2010/03/translation-rabbitmq-python-rabbits-and-warrens/
http://code.google.com/p/php-rabbit/

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn