PHP代码简单实现RabbitMQ
Posted 码农弓长先生
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP代码简单实现RabbitMQ相关的知识,希望对你有一定的参考价值。
使用php代码实现RabbitMQ,主要是publisher.php(生产者)和consumer.php(消费者)。
一、安装PHP AMQP扩展
首先在PHP环境中需要先添加amqp扩展,这里演示的环境是windows环境,可以去PHP网站上下载相对应的dll文件,下载地址 amqp扩展下载地址。
大家根据自己的环境选择相对应的文件。
下载完解压后可以复制php_ampq.dll 和rabbitmq.4.dll 两个文件到PHP的ext目录下
在php.ini 文件中添加 extension=amqp
重启apache后可以查看是否添加成功
出现这个证明添加成功了。
二、代码实现RabbitMQ
1. publisher.php 生产者创建消息。
//创建连接rabbitmq $config = [ 'host' => '127.0.0.1', 'vhost' => '/', 'port' => '5672', 'login' => 'guest', 'password' => 'guest' ]; $conn = new AMQPConnection($config); if(!$conn->connect()) echo "连接失败"; exit; //创建通道 $channel = new \\AMQPChannel($conn); //创建一个交换机 $exchange = new \\AMQPExchange($channel); //申明路由键 $routKey = 'key1'; //设置交换机名称 $exchangeName = "exchange1"; $exchange->setName($exchangeName); //设置交换机类型 $exchange->setType(AMQP_EX_TYPE_DIRECT); //数据持久化类型 $exchange->setFlags(AMQP_DURABLE); //申明交换机 $exchange->declareExchange(); //创建消息 for($i=0 ; $i<=5; $i++) $message = "message_".$i; //推送消息 $exchange->publish($message,$routKey,AMQP_DURABLE); exit;
2. consumer.php消费者接收消息
//创建连接rabbimq $config = [ 'host' => '127.0.0.1', 'vhost' => '/', 'port' => '5672', 'login' => 'guest', 'password' => 'guest' ]; $conn = new AMQPConnection($config); if(!$conn->connect()) echo "连接失败"; exit; //创建通道 $channel = new \\AMQPChannel($conn); //创建一个交换机 $exchange = new \\AMQPExchange($channel); //申明路由键 $routKey = 'key1'; //设置交换机名称 $exchangeName = "exchange1"; $exchange->setName($exchangeName); //设置交换机类型 $exchange->setType(AMQP_EX_TYPE_DIRECT); //数据持久化类型 $exchange->setFlags(AMQP_DURABLE); //申明交换机 $exchange->declareExchange(); //创建队列 $queue = new \\AMQPQueue($channel); //设置队列的名称 $queue->setName('queue01'); //设置队列的持久 $queue->setFlags(AMQP_DURABLE); $queue->declareQueue(); //队列绑定交换机通过路由键绑定 $queue->bind($exchange->getName(),$routKey); //监听消息队列 $queue->consume(function($envelope,$queue) echo $envelope->getBody()."\\n"; ); exit;
以上代码使用PHP简单的实现了RabbitMQ的消息推送和消息接收。
以上是关于PHP代码简单实现RabbitMQ的主要内容,如果未能解决你的问题,请参考以下文章