正文
AMQP,即Advanced Message Queuing Protocol,一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。 基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不同产品,不同的开发语言等条件的限制。
我们这里环境是CentOS,看一下安装过程。
apt 安装
sudo apt-get install php7.1-amqp
然后在php.ini配置文件中加入一行:
extension=amqp.so
这样就完成了amqp拓展的安装。
下面看下比较复杂的编译安装流程。
编译安装
两个包:
1.rabbitmq-c的包
2.amqp的包
安装rabbitmq-c
php的amqp依赖rabbitmq-c,所以需要先安装rabbitmq-c。
我们可以去访问https://github.com/alanxz/rabbitmq-c查看最新稳定版是哪一版, 然后点击下载或wget下载。
点击稳点版链接,看到是rabbitmq-c v0.9.0版本, 我这里选择wget下载,所以需要知道该版本的网络地址:https://github.com/alanxz/rabbitmq-c/archive/v0.9.0.tar.gz
putty登录后,切换成超级管理员:
sudo su
cd到软件资源目录下:
cd /usr/local/src/
下载rabbitmq-c v0.9.0:
wget https://github.com/alanxz/rabbitmq-c/archive/v0.9.0.tar.gz
然后解压:
tar zxvf v0.9.0.tar.gz
如果没有安装cmake,要安装cmake:
yum install cmake
看一下解压后文件夹的名字:
ls -l
发现是rabbitmq-c-0.9.0,进入该文件夹:
cd rabbitmq-c-0.9.0
生成build文件夹并进入:
mkdir build && cd build
在当前目录下生成安装库:
> cmake -DCMAKE_INSTALL_PREFIX=/usr/local/src/rabbitmq-c-0.9.0/ ..
cmake编译:
cmake ..
安装:
cmake --build . --target install
成功。
后面安装amqp时会到/rabbitmq-c-0.9.0/lib
下找搜索依赖库,然而我们这里是lib64
,所以我们需要建立链接:
> cd /usr/local/src/rabbitmq-c-0.9.0/
>
> ln -s lib64 lib
安装amqp
我们先要访问http://pecl.php.net/package/amqp,看看最新的稳定版本是哪一个。 记下来。比如:amqp-1.9.3.tgz。
然后下载,记得回到/usr/local/src/目录下:
cd /usr/local/src/
wget pecl.php.net/get/amqp-1.9.3.tgz
解压:
tar zxvf amqp-1.9.3.tgz
先安装m4:
yum install -y m4 autoconf
进入amqp-1.9.3目录:
cd amqp-1.9.3
用find / -name phpize
查找命令路径:
find / -name phpize
phpize化:
phpize
配置:
./configure --with-php-config=/usr/bin/php-config --with-amqp --with-librabbitmq-dir=/usr/local/src/rabbitmq-c-0.9.0/
编译安装:
make && make install
查看一下php.ini的位置:
find / -name php.ini
修改php.ini文件:
vi /etc/php.ini
添加 extension=amqp.so
:
extension=amqp.so
完成。
截图
rabbitmq-c:
amqp:
参考资料
RabbitMQ C AMQP client library https://github.com/alanxz/rabbitmq-c#rabbitmq-c-amqp-client-library
https://www.cnblogs.com/jie-fang/p/7885924.html
http://www.mamicode.com/info-detail-2277517.html
configure配置安装详解 https://blog.csdn.net/u010977122/article/details/52959098