rabbitmq服务端安装及php扩展安装

rabbitmq服务端安装

docker pull wohaokun/rabbitmq:management

docker run -d -p 15672:15672  -p  5672:5672  -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin --name rabbitmq --hostname=rabbitmqhostone --restart=on-failure:10 wohaokun/rabbitmq:management

http://192.168.110.100:15672/
admin
admin

 

PHP扩展安装介绍

PHP 使用 AMQP 协议来连接 Rabbitmq, AMQP 协议即 “Advanced Message Queuing Protocol ”,高级消息队列协议。
使 PHP 支持 AMQP 协议,需要安装:
rabbitmq 的客户端 C 类库 :rabbitmq-c 
PHP 官方提供的 AMQP 扩展 amqp-1.10.2
两者的关系是,PHP 扩展依赖 rabbitmq-c 类库。

安装 rabbitmq-c

git clone https://github.com/alanxz/rabbitmq-c/releases/download/v0.8.0/rabbitmq-c-0.8.0.tar.gz
tar xvzf rabbitmq-c-0.8.0.tar.gz
./configure --prefix=/usr/local/rabbitmq-c
make && make install

或 安装较新版的rabbitmq-c v0.11.0(php8 用到

好像只支持通过cmake安装

wget https://github.com/alanxz/rabbitmq-c/archive/refs/tags/v0.11.0.tar.gz
#解压
tar -zxvf v0.11.0.tar.gz
#进人目录
cd rabbitmq-c-0.11.0
#创建编译目录
mkdir build
#进人编译目录
cd build
#cmake指定安装路径
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/rabbitmq-c-0.11.0  ..

#执行 make 操作
make -j && make install

安装 AMQP 扩展

wget -c https://pecl.php.net/get/amqp-1.10.2.tgz
tar xvzf amqp-1.10.2.tgz
cd amqp-1.10.2

生成配置文件 .
/configure: /usr/local/bin/phpize
配置安装文件路径: .
/configure --with-php-config=/usr/local/bin/php-config --with-amqp --with-librabbitmq-dir=/usr/local/rabbitmq-c
注:/usr/local/bin/php-config 是安装php的配置文件路径

  编译安装:make && make install

或 安装较新版AMQP 1.11.0 扩展(php8 用到

 

wget -c https://pecl.php.net/get/amqp-1.11.0.tgz
tar xvf php-amqp-1.11.0.tar.gz
cd php-amqp-1.11.0
phpize
./configure --with-librabbitmq-dir=/usr/local/rabbitmq-c-0.11.0/ --with-php-config=/usr/local/bin/php-config
# 如果报错
/usr/bin/ld: cannot find -lrabbitmq ,可参考下方提供的解决方案
make
make install

 

开启PHP配置

docker下开启

docker-php-ext-enable amqp

重启php使生效

docker restart php8(container name)

 

参考地址:https://blog.csdn.net/u011341352

 

遇到的问题:

在make编译时,报错: 

/basicfinder/www/tmp/amqp-1.11.0/amqp_connection_resource.c:49:10: fatal error: amqp_ssl_socket.h: No such file or directory
 #include <amqp_ssl_socket.h>
 
解决方案:(参考:https://github.com/alanxz/rabbitmq-c/issues/463)
从 librabbitmq 下拷贝对应文件到当前编辑目录即可
cp ../rabbitmq-c-0.8.0/librabbitmq/amqp_ssl_socket.h ./

 

在make编译时,报错: 

/usr/bin/ld: cannot find -lrabbitmq
解决方案:
参考:
https://wenku.csdn.net/answer/7q0tv8yrsq
https://blog.csdn.net/qitx_net/article/details/129829209

安装 librabbitmq

apt-get install librabbitmq-dev

 

posted on 2022-02-23 16:05  爱吃柠檬不加糖  阅读(411)  评论(0)    收藏  举报

导航