天天看点

rabbitmq-c与amqp扩展安装

  最近需要使用RabbitMQ进行消息队列处理

1.安装rabbitmq-c

在安装amqp之前需要先安装rabbitmq-c扩展

rabbitmq-c下载网址:​​https://github.com/alanxz/rabbitmq-c/releases​​

wget https://github.com/alanxz/rabbitmq-c/archive/v0.10.0.tar.gz

# 解压
tar -zvxf v0.10.0.tar.gz

cd rabbitmq-c-0.10.0

# 创建build子目录并进入子目录
mkdir build && cd build

# 这一步是让cmake根据../CMakeList.txt,即rabbitmq-c的根目录下的    MakeList.txt创建Makefile文件
# Makefile文件会被创建到build目录中

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/rabbitmq-c ..

# 这一步是真正的build rabbitmq-c库的,注意,不要漏掉点 '.'
cmake --build .  --target install      

2.安装amqp

amqp扩展包:​​https://pecl.php.net/package/amqp​​

wget https://pecl.php.net/get/amqp-1.10.2.tgz

tar -zvxf amqp-1.10.2.tgz

cd amqp-1.10.2

phpize  (不是全局,则写绝对路径 /www/server/php/72/bin/phpize)
【find / -name phpize 搜索】

./configure --with-php-config=/www/server/php/72/bin/php-config --with-amqp --with-librabbitmq-dir=/usr/local/rabbitmq-c

make && make install      

出现问题:

/usr/bin/ld: cannot find -lrabbitmq

collect2: error: ld returned 1 exit status

make: *** [amqp.la] Error 1

解决:

yum install -y librabbitmq-devel      
vim /www/server/php/72/etc/php.ini

extension=amqp.so

service php-fpm restart   #重启

php -m  #查看扩展



# 注意: 如果是宝塔的话  他是分两个配置文件 php-cli.ini文件也需要进行修改