首页 > 编程语言 >php 扩展 rabbitmq popt

php 扩展 rabbitmq popt

时间:2023-04-03 18:33:44浏览次数:57  
标签:amqp -- make rabbitmq popt php

 

首先是rabbitmq-c-master.tar.gz包,

可以访问https://github.com/alanxz/rabbitmq-c去下载最新的

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

wget https://github.com/alanxz/rabbitmq-c/archive/v0.10.0.tar.gz

 

 0.8.0 这个版本  对popt  要求低一些,如果 你遇到  POPT_ARG_ARGV  这个报错。

说明你的 popt 版本低于1.14了。

要不就是把rabbitmq-c的扩展控制在0.8.0这个版本。要不升级popt到1.14版本以上。yum  popt最后版本1.13

第二方案升级 popt-1.18

复制代码
Download (HTTP): http://ftp.rpm.org/popt/releases/popt-1.x/popt-1.18.tar.gz

Download (FTP): ftp://ftp.rpm.org/pub/rpm/popt/releases/popt-1.x/popt-1.18.tar.gz

./configure --prefix=/usr --disable-static && make

make install
 
复制代码

 

 

 

 popt  升级完毕以后  就可以安装搞版本的 rabbitmq-c 的扩展了

 

mkdir build && cd build     //这一步是在rabbitmq-c的根目录下创建一个build子目录 
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/librabbitmq ..   // 这一步是让cmake根据../CMakeList.txt,即rabbitmq-c的根目录下的CMakeList.txt创建Makefile文件,Makefile文件会被创建到build目录中 
cmake --build . // 这一步是真正的build rabbitmq-c库的,注意,不要漏掉结尾的点 '.' 

make && make install

操作完毕如下结果

 以下四个文件,rabbitmq-c 我都亲自测试了可以用。版本越高,优化越好。 这里,我安装的是 0.10.0这个版本。下面php-amqp扩展也选择高版本

 

然后下载amqp-1.10.0.tgz,也可以去下载最新的http://pecl.php.net/package/amqp

wget http://pecl.php.net/get/amqp-1.10.0.tgz

 解压源码并进行 phpize 操作

复制代码
tar -zxvf amqp-1.10.0.tgz //解压

phpize / /php 编译

./configure --with-php-config=/usr/local/php/bin/php-config --with-amqp --with-librabbitmq-dir=/usr/local/librabbitmq

make && make install
复制代码

 

 

 

 遇到这个报错,如下处理。

/usr/bin/ld: cannot find -lrabbitmq
collect2: error: ld returned 1 exit status
make: *** [amqp.la] Error 1
解决:yum install librabbitmq-devel

 

操作完毕如下结果

 

 

 修改 php.ini

extension=amqp

 

 

标签:amqp,--,make,rabbitmq,popt,php
From: https://www.cnblogs.com/yzl042349/p/17283975.html

相关文章

  • php架构之路,phper进阶,学习路线
     鉴于最近跟小伙伴聊了很多PHP架构发展方向的问题,相关技术整理了一下,也顺便规划了一下自己下年。【我的学习路线】一.常用的设计模式以及使用场景    以下是我用到过的  工厂,单例,策略,注册,适配,观察者,原型,装饰器,facade,loc,pipeline二.阅读一个框架源码 例如:laravel......
  • php 如何实现 git diff
    无意间想到这个问题,如何用php来实现gitdiff,如果实现了这个功能,岂不是能够使用php对在线编辑文件的功能做更进一步的优化和提升?查了一下还真有这样的库,话不多说,开始执行composerrequire--devsebastian/diff得到结果Infofromhttps://repo.packagist.org:#StandW......
  • PHPExcel 中文使用手册详解
     1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848......
  • linux使用php动态安装模块mysqli.so(ext/mysqlnd/mysqlnd.h: 没有那个文件或目录)
     由于我先安装的php,再安装的mysql!正常过程: 1、安装mysql 2、安装phpconfigure时带–with-mysql参数现在我不想重装,因此使用phpize动态安装mysqli,php版本为php-7.2.13 1先查看php下phpize路径  得知路劲为/usr/local/php/bin/phpize2切换到php源码包目录php-7......
  • 如何在PHP7中扩展mysql,先安装php7.2。后安装mysql
     相对与PHP5,PHP7的最大变化之一是移除了mysql扩展,推荐使用mysqli或者pdo_mysql,实际上在PHP5.5开始,PHP就着手开始准备弃用mysql扩展,如果你使用mysql扩展,可能看到过这样的提示”Deprecated:mysql_connect():Themysqlextensionisdeprecatedandwillberemovedinthefu......
  • rabbitmq消息队列之持久化
    在生产过程中,难免会发生服务器宕机的事情,RabbitMQ也不例外,可能由于某种特殊情况下的异常而导致RabbitMQ宕机从而重启,那么这个时候对于消息队列里的数据,包括交换机、队列以及队列中存在消息恢复就显得尤为重要了。RabbitMQ本身带有持久化机制,包括交换机、队列以及消息的持久化。......
  • RabbitMQ在本地环境下不消费数据
    packagecom.test.core.condition;importlombok.extern.slf4j.Slf4j;importorg.springframework.amqp.rabbit.annotation.RabbitListenerAnnotationBeanPostProcessor;importorg.springframework.beans.factory.annotation.Value;importorg.springframework.stereoty......
  • 【环境搭建】docker+nginx部署PHP
    目的使用docker容器完成nginx的安装以及部署PHP网页步骤一、安装nginx1.拉取Nginx镜像dockerpullnginx//拉取镜像dockerimages//查看本地镜像这里注意需要记一下nginx的IMAGEID,我这里的ID是605c2.创建Nginx容器dockerrun......
  • php查找判断二维数组中是否含有某个值
    $arr=array(array('a','b'),array('c','d'));in_array('a',$arr);//此时返回的永远都是falsedeep_in_array('a',$arr);//此时返回true值functiondeep_in_array($value,$array){forea......
  • php爬虫框架盘点
    大数据分析必定少不了数据抓取,只有拥有海量的数据才能对数据进行对比分析。因此,网页爬虫是作为程序员必须要懂得技能,下文我将通过文字形式记录下php的爬虫框架的一些内容。GoutteGoutte库非常有用,它可以为您提供有关如何使用PHP抓取内容的出色支持。基于Symfony框架,它提供了API来抓......