:

PHP安装AMQP扩展

song100e 发布于:2021-6-30 16:47 分类:PHP  有 465 人浏览,获得评论 0 条 标签: amqp 

这里假定你openssl, cmake 升级到了最新版, 而且下载好了 rpm 包,注意对应版本

1, 安装 erlang。有可能之前安装过所以加上 --replacefiles
rpm -ivh --replacefiles erlang-22.0.7-1.el7.x86_64.rpm

2, 安装 socat 依赖
yum install socat

3, 安装 rabbitmq-server
rpm -ivh rabbitmq-server-3.7.18-1.el7.noarch.rpm

4,开启RabbitMq控制台
rabbitmq-plugins enable rabbitmq_management

5,设置开机自启  
chkconfig rabbitmq-server on

6,启动服务
systemctl start(stop) rabbitmq-server 

7,可能出现的问题
Protocol 'inet_tcp': register/listen error: epmd_close
解决方案如下:
(1),查看iptables,iptables -t nat -L -n --line-numbers;
(2),注意查看两个ROUTING链下面是否有规则;
(3),例如POSTROUTING下面有MASQUERADE规则,通过iptables -t nat -D POSTROUTING 1删除改规则,1为查看iptables时显示的行号。
rabbitmq.PNG

8, 添加用户并加入管理员组
rabbitmqctl add_user qingsong ******
rabbitmqctl set_user_tags qingsong administrator

9,安装 rabbitmq-c
PHP AMQP 扩展与 RabbitMQ 通信需要依赖 rabbitmq-c 库
wget https://github.com/alanxz/rabbitmq-c/archive/refs/tags/v0.11.0.tar.gz
tar zxvf rabbitmq-c-0.11.0.tar.gz
cd rabbitmq-c-0.11.0/
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/rabbitmq-c
cd /usr/local/rabbitmq-c
mv lib64/ lib #这一步很关键,否则可能安装扩展失败

10, 安装扩展
wget https://pecl.php.net/get/amqp-1.10.0.tgz
tar zxvf amqp-1.10.0.tgz
cd amqp-1.10.0/
/usr/local/php-7.3.2/bin/phpize
./configure --with-php-config=/usr/local/php-7.3.2/bin/php-config 
--with-amqp --with-librabbitmq-dir=/usr/local/rabbitmq-c
make && make install
vim /usr/local/php-7.3.2/etc/php.ini
#添加 extension=amqp.so
php -m | grep amqp

大功告成!

php_amqp.PNG

赞助我,共同学习进步!