本章讲诉如何使用php-amqplib实现RabbitMQ。
环境:CoentOS,PHP 7
简单介绍一下php-amqplib
php-amqplib是Advanced Message Queuing Protocol (AMQP)的一个PHP开源实现。高级消息队列协议(AMQP)是一个异步消息传递所使用的应用层协议规范。作为线路层协议,而不是API(例如JMS),AMQP 客户端能够无视消息的来源任意发送和接受信息
1、RabbitMQ的安装
需要下载的两个包
erlang-21.0.7-1.el7.centos.x86_64.rpm
rabbitmq-server-3.7.7-1.el7.noarch.rpm
这两个包我已经放在了百度云盘的分享上
链接:https://pan.baidu.com/s/1rMv_yFpLnH-D1S5wrOZrbA#list/path=%2FRabbitMQ
提取码:ipyu
然后参照 weixin_41368339的博客linux rabbitmq3.7.7安装与使用一文中的步骤安装步,基本上没有什么问题
2、composer的安装(已安装的请忽略此步)
为什么要装这个?我们可以通过composer来下载安装php-amqplib
如何安装composer,可以百度一下composer的全局安装或者直接去composer中文网
3、php-amqplib的下载及安装
新建一个composer.json的文件,内容如下所示
{
"require": {
"php-amqplib/php-amqplib": ">=2.6.1"
}
}
然后执行
composer install
会生成一个composer.lock文件及vendor文件夹,vendor文件夹里有php-amqplib库,且有一个autoload.php文件可以使用自动加载
4、Demo示例
本Demo示例只创建了一个直连交换机,共有四个文件Consumer.php (消费者),Publisher.php (生产者) ,Parenter.php (自己封装的RabbitMQ的方法) ,以及test.php (测试数据),目录如图所示
Parenter.php 代码如下图所示
<?php
require_once __DIR__ . '/vendor/autoload.php';
use PhpAmqpLib\Connection\AMQPStreamConnection;
use PhpAmqpLib\