安装 amqp 扩展

1、安装 rabbitmq-c

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

wget https://github.com/alanxz/rabbitmq-c/releases/download/v0.8.0/rabbitmq-c-0.8.0.tar.gz

tar zxf rabbitmq-c-0.8.0.tar.gz

cd rabbitmq-c-0.8.0

./configure --prefix=/usr/local/rabbitmq-c-0.8.0

make && make install

2、安装 amqp 扩展

方式一:pecl安装

pecl install amqp

# 提示需要输入 rabbitmq-c 安装路径
Set the path to librabbitmq install prefix [autodetect] : /usr/local/rabbitmq-c-0.7.1

# 报错
fatal error: amqp_ssl_socket.h: No such file or directory

将 rabbitmq-c-0.7.1/librabbitmq/amqp_ssl_socket.h 文件复制到 amqp 目录内,因为是临时文件,安装报错后就没了,所以采用第二种方式

方式二:源码安装

去官网寻找合适版本,不同的PHP版本对应不同的版本:https://pecl.php.net/package/amqp

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

tar -zxvf amqp-1.11.0.tgz

cd amqp-1.11.0

phpize

注意此处的路径,请自行进行相应的修改
./configure --with-php-config=/usr/local/bin/php-config --with-amqp --with-librabbitmq-dir=/usr/local/rabbitmq-c-0.8.0

make && make install

如果 make 时报错如下:fatal error: amqp_ssl_socket.h: No such file or directory
那么将相应的 amqp_ssl_socket.h 文件复制到 amqp 目录下即可
cp /root/rabbitmq-c-0.8.0/librabbitmq/amqp_ssl_socket.h /root/amqp-1.11.0/


成功后会告诉你扩展路径
Installing shared extensions:     /usr/local/lib/php/extensions/no-debug-non-zts-20200930/

编辑 php.ini 文件,加入相应扩展名
vim /usr/local/etc/php/php.ini

extension=amqp.so

保存后查看是扩展否安装成功: php -m | grep amqp