linux 安装 php-amqp rabbitmq-c

linux 安装 php-amqp rabbitmq-c

这里需要安装rabbitmq-c和amqp扩展

rabbitmq-c : https://github.com/alanxz/rabbitmq-c/tree/v0.11.0

amqp :  PECL :: Package :: amqp

 安装Rabbitmq-c

首先一定要先升级openssl ,我这里最低也需要1.1.1 ,给我坑够呛

克隆如果没通过验证 , 就去本地开小飞机 , 然后克隆 , ftp传上来

cd /usr/local
git clone https://github.com/alanxz/rabbitmq-c.git
cd /usr/local/rabbitmq-c 
mkdir build && cd build \
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/rabbitmq-c .. 
cmake --build . --target install 
cd /usr/local/rabbitmq-c/lib64
cp /usr/local/rabbitmq-c/lib64/librabbitmq.so /usr/lib
cp /usr/local/rabbitmq-c/lib64/librabbitmq.so.4 /usr/lib
echo "include /usr/local/lib" >> /etc/ld.so.conf
ldconfig

这里把rabbitmq-c 放在了 /usr/local/rabbitmq-c

如果出现下图 , 可以第五行运行为  

linux 安装 php-amqp rabbitmq-c

 /usr/local/cmake-3.26.1-linux-x86_64/bin/cmake -DOPENSSL_ROOT_DIR=/usr/local/openssl3.0.7  -DCMAKE_INSTALL_PREFIX=/usr/local/rabbitmq-c ..

如果编译感觉出问题 , 可以把build文件夹删除 , 重新来过

这里第5行一定加上地址 , 后面安装amqp会用到

第6行一定看清有一个 ' . '  , 否则必失败

librabbitmq.so.4: cannot open shared object file: No such file or directory

解决方案:

我这里,安装rabbitmq-c时,cmake操作时指定了安装位置,cmake -DCMAKE_INSTALL_PREFIX=/usr/local/rabbitmq-c ..,那我们就应该

cp /usr/local/rabbitmq-c/lib64/librabbitmq.so /usr/lib
cp /usr/local/rabbitmq-c/lib64/librabbitmq.so.4 /usr/lib
echo "include /usr/local/lib" >> /etc/ld.so.conf
ldconfig

这时我们重新编译安装amqp扩展,会发现不再报错,已经可以成功编译安装amqp扩展了。

安装amqp扩展

wget http://pecl.php.net/get/amqp-1.11.0.tgz
tar -zxf amqp-1.11.0.tgz 
cd amqp-1.10.2 
/www/server/php/81/bin/phpize 
./configure --with-php-config=/www/server/php/81/bin/php-config --with-amqp --with-librabbitmq-dir=/usr/local/rabbitmq-c 
 make && make install 

如果报错 collect2: makefile:236:amqp.la Error1 , 则需要 ln -s /usr/local/rabbitmq-c/lib64 /usr/local/rabbitmq-c/lib 建立软链 

如果成功会打印类似下面的地址, 告诉你扩展包在哪里 

/www/server/php/81/lib/php/extensions/no-debug-non-zts-20210902

linux 安装 php-amqp rabbitmq-c

进入 /www/server/php/81/etc 文件夹 , 修改配置: 编辑php-cli.ini和php.ini两个文件,在文件后面追加

[amqp]
extension = amqp.so


重启php , 开启一个新的文件打印一下phpinfo试试有没有amqp

<?
echo phpinfo();

 命令行查看

php -m 

linux 安装 php-amqp rabbitmq-c

php –ri amqp

 

linux 安装 php-amqp rabbitmq-c

                       

点击阅读全文

上一篇 2023年 6月 10日 am10:27
下一篇 2023年 6月 10日 am10:28