PHP安装rabbitmq扩展
# rabbitmq-c GitHub项目地址:
https://github.com/alanxz/rabbitmq-c.git

# 下载安装
cd /usr/local/src
wget https://github.com/alanxz/rabbitmq-c/archive/v0.9.0.tar.gz
tar -xvf v0.9.0.tar.gz -C ..
cd ..
mv rabbitmq-c-0.9.0 rabbitmq-c
cd rabbitmq-c
mkdir build && cd build    //这一步是在rabbitmq-c的根目录下创建一个build子目录
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/rabbitmq-c ..   //这一步是让cmake根据../CMakeList.txt,即rabbitmq-c的根目录下的CMakeList.txt创建Makefile文件,Makefile文件会被创建到build目录中
注:若出现cmake command not found,则 `yum -y install cmake`
cmake --build .  --target install  //这一步是真正的build rabbitmq-c库的,注意,不要漏掉点 '.'
make && make install idconfig //这一步一定要执行,不然php -m 的时候始终提示librabbitmq.so.4 找不到
至此,rabbitmq-c已安装完毕


# 安装amqp PHP扩展

#amqp的下载地址
https://pecl.php.net/package/amqp 
# 下载安装
cd /usr/local/src 
wget https://pecl.php.net/get/amqp-1.9.3.tgz
tar -xvf amqp-1.9.3.tgz 
cd amqp-1.9.3
phpize
注:若出现 phpize command not found,则 `yum -y install m4 autoconf`
./configure --with-php-config=/usr/local/php/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
查看编译信息:
-L/usr/local/rabbitmq-c/lib -lrabbitmq  -O2 -Wl,-rpath -Wl,/usr/local/rabbitmq-c/lib   -Wl,-soname -Wl,amqp.so -o .libs/amqp.so
解决:
cp -R /usr/local/rabbitmq-c/lib64/ /usr/local/rabbitmq-c/lib

make && make install

# 添加模块,重启PHP
vim /usr/local/php/lib/php.ini
extension=amqp.so

/etc/init.d/php-fpm restart
php -m

参考链接:

https://zlkb.net/214.html

https://blog.csdn.net/qq_42014600/article/details/101522142

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐