2889

编译安装php的rabbitmq扩展

乐果   发表于   2018 年 11 月 01 日 标签:rabbitmq

rabbitmq遵循amqp协议,因此php安装amqp扩展即可。

但是安装前,依然需要rabbitmq具体依赖库,所以需要先安装rabbitmq-c。

一、rabbitmq-c安装

去github下载最新稳定版本:

https://github.com/alanxz/rabbitmq-c

例如目前的最新版本:

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

wget https://github.com/alanxz/rabbitmq-c/archive/v0.9.0.tar.gz .
tar -xzvf rabbitmq-c-0.9.0.tar.gz
cd rabbitmq-c-0.9.0
mkdir build && cd build #这一步是在rabbitmq-c的根目录下创建一个build子目录
# 这一步是让cmake根据../CMakeList.txt,即rabbitmq-c的根目录下的CMakeList.txt创建Makefile文件
# Makefile文件会被创建到build目录中
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/rabbitmq-c ..
sudo cmake --build .  --target install

这时,/usr/local/rabbitmq-c目录下已经有依赖库文件

二、安装amqp扩展

去: https://pecl.php.net/package/amqp 下载最新稳定版本,例如:

https://pecl.php.net/get/amqp-1.9.3.tgz

wget https://pecl.php.net/get/amqp-1.9.3.tgz .
tar -xzvf amqp-1.9.3.tgz
cd amqp-1.9.3
/data/service/php71/bin/phpize #根据自己的phpize路径
./configure --with-php-config=/data/service/php71/bin/php-config --with-amqp --with-librabbitmq-dir=/usr/local/rabbitmq-c
make 
# 此时很可能报错,例如/usr/bin/ld: cannot find -lrabbitmq
# 这时,需要去/usr/local/rabbitmq-c找到librabbitmq.so,按编译寻找的路径创建响应路径的软链接
# 例如,我创建的:
# ln -s /usr/local/rabbitmq-c/lib/x86_64-linux-gnu/librabbitmq.so /usr/local/rabbitmq-c/lib/librabbitmq.so
# 再执行make
sudo make install # 此时,扩展已经安装成功,去配置php.ini即可

结束~

乐果   发表于   2018 年 11 月 01 日 标签:rabbitmq

0

文章评论