AMQP,即Advanced Message Queuing Protocol,一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不同产品,不同的开发语言等条件的限制。Erlang中的实现有 RabbitMQ等。
主要是两个包
1.rabbitmq-c的包
2.amqp的包
1、下载
首先是rabbitmq-c-0.5.2.tar.gz包,可以访问https://github.com/alanxz/rabbitmq-c去下载
wget https://github.com/alanxz/rabbitmq-c/releases/download/v0.5.2/rabbitmq-c-0.5.2.tar.gz
附上我下载好的rabbitmq-c-0.5.2.tar.gz 点击下载
然后下载amqp-1.9.1.tgz,也可以去下载最新的http://pecl.php.net/package/amqp
wget http://pecl.php.net/get/amqp-1.9.1.tgz
2、安装
1.先把两个包全都解压
tar zxvf rabbitmq-c-0.5.2.tar.gz tar zxvf amqp-1.9.1.tgz
两个是有先后顺序的
2.安装rabbitmq-c-0.5.2
cd rabbitmq-c-0.5.2 ./configure --prefix=/usr/local/rabbitmq-c-0.5.2
之后会有输出如下:
rabbitmq-c build options: Host: x86_64-unknown-linux-gnu Version: 0.5.2 SSL/TLS: openssl Tools: yes Documentation: no Examples: yes
安装
make && make install
如果不知道安装成功与否,可以每一步都用echo $?检查,显示0为正常
3.安装amqp-1.9.1
cd /usr/src && wget http://ftp.gnu.org/gnu/m4/m4-1.4.9.tar.gz tar -zvxf m4-1.4.9.tar.gz # cd m4-1.4.9/ ./configure && make && make install # cd ../ wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.62.tar.gz tar -zvxf autoconf-2.62.tar.gz cd autoconf-2.62/ ./configure && make && make install
或者:
yum install -y m4 autoconf
cd amqp-1.9.1 phpize
执行完phpize命令后你应该看到类似下边的内容
Configuring for: PHP Api Version: 20100412 Zend Module Api No: 20100525 Zend Extension Api No: 220100525
一般安装完PHP都会有这个命令,要是没有这个命令的话需要安装一下:yum install php-devel
用find / -name phpize查找命令路径
./configure --with-php-config=/usr/bin/php-config --with-amqp --with-librabbitmq-dir=/usr/local/rabbitmq-c-0.5.2/
PS:--with-php-config=/usr/bin/php-config 这个php-config根据你装的php而定,要是找不到请用find / -name php-config查找
--with-librabbitmq-dir=/usr/local/rabbitmq-c-0.5.2/ 这个是指定你安装的rabbitmq-c的目录,我安装的是/usr/local/rabbitmq-c-0.5.2/因为在安装rabbitmq-c的时候我自己指定了安装目录了.
make && make install
安装完成最后一行会输出:
Installing shared extensions: /usr/lib64/php/modules/
以上是正常情况下,要是你自己编译的php,那么他会提示你别的路径,此时你需要找到这个路径里边的amqp.so文件,将他拷贝到/usr/lib64/php/modules/下.
4.编辑php.ini文件添加一下内容
[rabbitmq] extension=amqp.so extension_dir = "/usr/lib64/php/modules/"
重启php-fpm即可。
3、测试安装是否成功
php测试脚本
php测试rabbitmq的php扩展插件脚本
<?php $cnn = new AMQPConnection(); $cnn->setHost('127.0.0.1'); $cnn->setLogin('guest'); $cnn->setPassword('guest'); if($cnn->connect()){ echo '连接成功'; } ?>
configure: error: Cannot find php-config. Please use --with-php-config=PATH 错误的解决方案
find / type f -name "php-config" /usr/local/php/bin/php-config #使用这个路径
安装完PHP没有php.ini文件
find / -type f -name "php.ini-production" /tools/php-7.1.9/php.ini-production cp /tools/php-7.1.9/php.ini-production /etc/php.ini
linux下的缓存机制及清理buffer/cache/swap的方法梳理
接入WebSocket记录 + 一些个人经验
Linux基础系列—Linux体系结构和Linux内核结构
typedef和define具体的详细区别
RANSAC与 最小二乘(LS, Least Squares)拟合直线的效果比较
深入理解C/C++混合编程优秀博文赏析与学习
“error LNK2019: 无法解析的外部符号”之分析
CUDA和OpenGL互操作经典博文赏析和学习
[原创]C/C++语言中,如何在main.c或main.cpp中调用另一个.c文件
- 最新文章
-
安装 Percona XtraBackup 2.3
mysql数据库创建删除带横杠的数据库名
关于RDS备份文件使用wget下载提示403 Forbidden的情况
nginx根据token做频率限制
SharePoint 2013 状态机工作流之UpdateItemActivity
SharePoint 2013 状态机工作流之扩展自定义状态
SharePoint 2013 工作流之年假审批Designer配置篇
SharePoint 2013 工作流之Visual Studio开发示例篇
SharePoint 2013 工作流之使用Visio设计篇
SharePoint 2013 工作流设计之Designer 使用“可视化视图”