安装进度中或然会蒙受的难点

1、缺少libtool包

configure.ac: installing ./install-sh
configure.ac: installing ./missing
configure.ac:34: installing ./config.guess
configure.ac:34: installing ./config.sub
Makefile.am:3: Libtool library used but LIBTOOL is undefined
Makefile.am:3:
Makefile.am:3: The usual way to define LIBTOOL is to add AC_PROG_LIBTOOL
Makefile.am:3: to configure.ac and run aclocal and autoconf again.
Makefile.am: C objects in subdir but AM_PROG_CC_C_O not in configure.ac
Makefile.am: installing ./compile
Makefile.am: installing ./depcomp
autoreconf: automake failed with exit status: 1

消除办法,安装libtool,ubuntu:

sudo apt-get install libtool

其余系统近似

2、如若还会有此外主题材料,招待给本身留言,作者补上

扩充上面内容

; rabbitmq扩展援救
extension=amqp.so

8. 执行./configure

安装pecl扩展

#下载最新的amqp扩展
wget http://pecl.php.net/get/amqp-1.0.9.tgz
tar xvzf amqp-1.0.9.tgz
cd amqp-1.0.9 && phpize
./configure --with-amqp && make && sudo make install

记得在php.ini中加入amqp扩展:

extension=amqp.so

本子下载:https://github.com/alanxz/rabbitmq-c/releases/tag/v0.5.0

wget
https://github.com/alanxz/rabbitmq-c/releases/download/v0.5.0/rabbitmq-c-0.5.0.tar.gz
tar -zxvf v0.5.0
cd rabbitmq-c-0.5.0/
autoreconf -i
./configure –prefix=/usr/local/rabbitmq-c
make
make install

5.make 6.copy the libamqpcpp.a to /usr/local/lib or other system library dir.   copy the libamqpcpp.so to /usr/local/lib or other system library dir. 7.export LD_LIBRARY_PATH=”:/usr/local/lib”

图片 1

6.弄错意况

安装librabbitmq-c和rabbitmq-codegen

# 下载0-9-1版的rabbitmq-c
git clone git://github.com/alanxz/rabbitmq-c.git
cd rabbitmq-c
# Enable and update the codegen git submodule
git submodule init
git submodule update
# Configure, compile and install
autoreconf -i && ./configure && make && sudo make install

安装rabbitmq-c依赖包

yum install libtool autoconf

部分电脑会现出如下错误:

[html]

  1. Cannot find install-sh, install.sh, or shtool in ac-aux 

autotools包括以下工具

使用

<?php
//配置信息
$conn_args = array(
    'host' => '127.0.0.1',
    'port' => '5672',
    'login' => 'guest',
    'password' => 'guest',
    'vhost'=>'/'
);
//创建连接
$conn = new AMQPConnection($conn_args);
if (!$conn->connect()) {
    die('Not connected  ' . PHP_EOL);
}
// Open Channel
$channel = new AMQPChannel($conn);
// Declare exchange
$exchange = new AMQPExchange($channel);
$exchange->setName('extest');
$exchange->setType('fanout');
$exchange->declare();
// Create Queue
$queue = new AMQPQueue($channel);
$queue->setName('qutest');
$queue->declare();
// Bind it on the exchange to routing.key
$exchange->bind('qutest', 'routing.key');
$data = array(
    'Name' => 'foobar',
    'Args'  => array("0", "1", "2", "3"),
);
//生产者,向RabbitMQ发送消息
$message = $exchange->publish(json_encode($data), 'key');
if (!$message) {
    echo 'Message not sent', PHP_EOL;
} else {
    echo 'Message sent!', PHP_EOL;
}
//消费者
while ($envelope = $queue->get(AMQP_AUTOACK)) {
    echo ($envelope->isRedelivery()) ? 'Redelivery' : 'New Message';
    echo PHP_EOL;
    echo $envelope->getBody(), PHP_EOL;
}
?>

安装PHP扩展 amqp

wget
http://pecl.php.net/get/amqp-1.6.1.tgz
tar zxvf amqp-1.6.1.tgz
cd amqp-1.6.1
/usr/local/php/bin/phpize
./configure –with-php-config=/usr/local/php/bin/php-config –with-amqp
–with-librabbitmq-dir=/usr/local/rabbitmq-c
make
make install

c顾客端情况设置 1. 下载 rabbitmq-c 源码包 http://hg.rabbitmq.com/rabbitmq-c/ 2. 下载 rabbitmq-codegen 源码包 http://hg.rabbitmq.com/rabbitmq-codegen/ 3. 将rabbitmq-codegen拷贝到rabbitmq-c的目录下,改名称叫codegen 4. macro `AM_PROG_LIBTOOL’ not found in library 施工方案  发生那一个报错的缘故有三种,一种是没有安装libtool,一种是设置了libtool可是aclocal和libtool未设置在同等文件夹下。 5. 试行 autoreconf -i 6. 安装python的json包或simplejson包 7. 改变configure文件,屏蔽python检查部分,大约在20174-20198行。里面有语法错误。那几个至关重假设反省第三步的那三个python包有未有安装,如下注释掉就能够。

[python]

  1. #checkPython python   
  2. #checkPython python2.6   
  3. #checkPython python2.5   
  4. #if test “$found_python” = “no”   
  5. #then   
  6. #  { { echo “$as_me:$LINENO: error: could not find a python that can ‘import simplejson'” >&5
      
  7. #echo “$as_me: error: could not find a python that can ‘import simplejson'” >&2;}
      
  8. #   { (exit 1); exit 1; }; }   
  9. #fi   

sudo apt-get install libtool

正文介绍了在Linux下给PHP安装amqp扩大的进程,有亟待的心上人可以关心一下。

重启php-fpm

/etc/init.d/php-fpm restart

c++顾客端 1. 必须先安装c顾客端碰着 2. 下载源码包 https://github.com/akalend/amqpcpp 3. 按README推行就能够 4. 原版本编写翻译后是.a文件,假使要改成.so文件须要团结校订makefile,步骤如下     a. 纠正CFLAGS变量, 扩大-fPIC -shared参数     b.LIBFILE  = lib$(LIBNAME卡塔尔.so     c. 改正$(LIBFILE卡塔尔国的编写翻译语句, 屏蔽原本的 $(ARAV4State of Qatar 命令, 改成 $(CXX卡塔尔 $(CPPFLAGS卡塔尔 -o $@ $(OBJECTS卡塔尔国

[python]

  1. $(LIBFILE): $(OBJECTS)  
  2. #       $(AR) rcs $@ $(OBJECTS)   
  3.         $(CXX) $(CPPFLAGS) -o $@ $(OBJECTS) 

error: Libtool library used but ‘LIBTOOL’ is undefined

编辑php.ini文件,增添amqp扩充帮助

vim /usr/local/php/etc/php.ini

消除措施:

[python]

  1. $ libtoolize –force  
  2. $ aclocal  
  3. $ autoheader  
  4. $ automake –force-missing –add-missing  
  5. $ autoconf  
  6. $ ./configure  
  7.   

  8. 进入librabbitmq目录,修改Makefile,
    www.linuxidc.com
    将PYTHON变量的内容改成自个儿用的版本,原本的是空,大约在150行

[html]

  1. PYTHON = python2.6 

10. make, make check, make
install

11.装置成功后,查看readme里面包车型地铁开始和结果,有可实行的事例:

[python]

  1. ./examples/amqp_listen localhost 5672 amq.direct test  

amqp_listen为监听程序

localhost : rabbitmq服务host           
5672 : 服务开放端口

[python]

  1. ./examples/amqp_sendstring localhost 5672 amq.direct test “hello world”  

amqp_sendstring为发送程序

在另一个terminal中施行另贰个指令

在一个terminal中执行以下指令

3.安装autotools

admin

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注