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安装的主要内容,如果未能解决你的问题,请参考以下文章