php 的rabbitmq 扩展模块amqp安装

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 的rabbitmq 扩展模块amqp安装相关的知识,希望对你有一定的参考价值。

error 提示:

Please reinstall the librabbitmq distribution itself or (re)install librabbitmq development package if it available in your system

或者
checking for amqp using pkg-config... configure: error: librabbitmq not found

或者
ERROR: `/tmp/pear/temp/amqp/configure --with-php-config=/usr/local/php/bin/php-config --with-librabbitmq-dir=/usr/local/lib64/l‘ failed

rabbitmq-c 升级到0.9版本了,许多0.7的方法有些变动,按照旧方法尝试多次,失败

第一步安装 librabbitmq

安装librabbitmq有两种方法,具体方法如下:

第一种方法:

直接使用yum 安装 librabbitmq , 该方法有可能行不通,就是你的YUM环境配置的问题,搜索不到librabbitmq,就无法安装, 那就要转到到下面的第二种方法
技术图片
此种方法是安装成功了(使用的阿里云yum源),但依旧没起作用(是因为仓库里是0.8版本的)

第二种方法:源码安装rabbitmq-c-0.9.0

下载地址为:wget https://github.com/alanxz/rabbitmq-c/archive/v0.9.0.tar.gz

tar -zxvf   v0.9.0-master.tar.gz

cd    rabbitmq-c-0.9.0-master

mkdir build && cd build
cmake ..
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/rabbitmq-c/0.9 .. // 指定安装目录!important!

 cmake --build . --target install // 这一步是真正的build rabbitmq-c库的,注意,不要漏掉点 ‘.‘

安装完毕之后,就可以继续安装amqp

第二步安装amqp

运行命令:

/usr/local/php/bin/pecl install amqp 

运行该命令会出现如下提示,

Set the path to librabbitmq install prefix [autodetect] :

如果你是用第一种方法 yum 直接安装的librabbitmq,就直接按回车就可以,如果是第二种方法,就需要将安装rabbitmq-c-0.9.0的目录输入进去 /usr/local/rabbitmq-c/0.9 然后按回车。

第三步就是添加扩展模块

amqp安装完成之后,系统会提示你要你将amqp.so 扩展模块加入到PHP的配置文件

重启 php-fpm

第四部检查amqp模块安装

使用命令phpinfo 就可以查看,出现如下,就表示安装成功

AMQP protocol version 0-9-1 
librabbitmq version 0.5.2

-----------------------------------隔--安装可能会碰到的错误,神坑~-------------------------------------------

1.rabbitmq-c 的安装过程中,一定要记的手工指定安装目录 /usr/local/rabbitmq-c/0.9
2.rabbitmq-c 的安装过程中,命令行中的点”.”千万别漏
3.安装 amqp PHP 扩展过程中,有些机器会出现以下情况,原因就是 rabbitmq-c 生成时lib的目录为 /usr/local/rabbitmq-c/0.9/lib64 ,此时最好的做法时,直接把 /usr/local/rabbitmq-c/0.9/lib64 改为 /usr/local/rabbitmq-c/0.9/lib 即可.

[28-Apr-2019 15:52:32 UTC] PHP Warning:  PHP Startup: Unable to load dynamic library ‘amqp.so‘ (tried: /usr/local/php/lib/php/extensions/no-debug-non-zts-20170718/amqp.so (librabbitmq.so.4: cannot open shared object file: No such file or directory), /usr/local/php/lib/php/extensions/no-debug-non-zts-20170718/amqp.so.so (/usr/local/php/lib/php/extensions/no-debug-non-zts-20170718/amqp.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0

参考详细坑
记录Centos下RabbitMQ安装PHP扩展的详细过程以及遇到的各种坑

以上是关于php 的rabbitmq 扩展模块amqp安装的主要内容,如果未能解决你的问题,请参考以下文章

rabbitmq php扩展amqp安装

windows下安装rabbitmq的php扩展amqp

PHP中RabbitMQ之amqp扩展实现

PHP之RABBITMQ安装篇-WINDOWS下安装

CentOS7 php 安装 amqp扩展

php7.1 安装amqp扩展