zoukankan      html  css  js  c++  java
  • ubuntu下手动安装php-amqp模块教程

    用于ubuntu的默认源里面没有php5-amqp这个包,所以要用上amqp得考手动编译。

    参考手册 http://php.net/manual/pl/book.amqp.php

    首先安装必须的php编译工具

    [html] view plain copy
    1. sudo apt-get install php5-dev  


    安装rabbitmq的库

    [html] view plain copy
    1. sudo apt-get install librabbitmq-dev  


    如果你的Linux发行版没有现成的librabbitmq-dev包,那么可以通过下载源码编译安装
    然后如果你没有安装git话请安装一下git,因为我们要从官方的版本库中获取源代码
    # 克隆源码并编译

    [html] view plain copy
    1. git clone git://github.com/alanxz/rabbitmq-c.git  
    2. cd rabbitmq-c  
    3. git submodule init  
    4. git submodule update  


    # 编译库

    [html] view plain copy
    1. autoreconf -i && ./configure && make && sudo make install  


    然后我们需要去下载php扩展的源代码,地址在此:http://pecl.php.net/package/amqp

    当前最新版本为1.0.10

    [html] view plain copy
    1. wget http://pecl.php.net/get/amqp-1.0.10.tgz  
    2. tar zxf amqp-1.0.10.tgz  
    3. cd amqp-1.0.10/  
    4. phpize && ./configure --with-amqp && make && sudo make install  

    如果报错

    [html] view plain copy
    1. /root/amqp-1.0.9/amqp_queue.c: In function ‘read_message_from_channel’:  
    2. /root/amqp-1.0.9/amqp_queue.c:341:11: error: ‘AMQP_FIELD_KIND_U64’ undeclared (first use in this function)  
    3. /root/amqp-1.0.9/amqp_queue.c:341:11: note: each undeclared identifier is reported only once for each function it appears in  
    4. /root/amqp-1.0.9/amqp_queue.c: In function ‘zim_amqp_queue_class_nack’:  
    5. /root/amqp-1.0.9/amqp_queue.c:1093:2: error: unknown type name ‘amqp_basic_nack_t’  
    6. /root/amqp-1.0.9/amqp_queue.c:1113:3: error: request for member ‘delivery_tag’ in something not a structure or union  
    7. /root/amqp-1.0.9/amqp_queue.c:1114:3: error: request for member ‘multiple’ in something not a structure or union  
    8. /root/amqp-1.0.9/amqp_queue.c:1115:3: error: request for member ‘requeue’ in something not a structure or union  
    9. /root/amqp-1.0.9/amqp_queue.c:1120:3: error: ‘AMQP_BASIC_NACK_METHOD’ undeclared (first use in this function)  
    10. make: *** [amqp_queue.lo] Error 1  


    是因为默认的librabbitmq-dev发行版的包比较旧,用上面git方式编译安装最新即可。

    去下载最新的php扩展的源代码,地址在此:http://pecl.php.net/package/amqp

    1. wget http://pecl.php.net/get/amqp-x.x.x.tgz  
    2. tar zxf amqp-x.x.x.tgz  
    3. cd amqp-x.x.x/  
    4. 继续执行
    5. phpize && ./configure --with-amqp && make && sudo make install

    最后一步创建配置文件

    [html] view plain copy
    1. sudo echo "extension = amqp.so" > /etc/php5/conf.d/amqp.ini  


    重启web服务器在phpinfo页面中看到以下内容说明安装好了

    sudo /etc/init.d/apache2 restart

    http://localhost/phpinfo.php

    启用rabbitamqp的图形界面

    1.在安装amqp的时候会自动安装rabbitmq-plugins

    寻找一下rabbitmq-plugins的位置

    2.切换到rabbitmq-plugins的当前目录,

    比如 cd /usr/lib/rabbitmq/bin

    启动插件服务

    root@luochangjian-System-Product-Name:/usr/lib/rabbitmq/bin# sudo ./rabbitmq-plugins enable rabbitmq_management
    Plugin configuration unchanged.

    即完成插件安装。安装完成后重启RabbitMQ,打开浏览器。输入 http://127.0.0.1:55672,打开页面要求输入用户名密码,用默认的guest/guest即可

    注:若页面找不到,可通过netstat命令检查下端口号是否正确。

  • 相关阅读:
    [saiku] 系统登录成功后查询Cubes
    216. Combination Sum III
    215. Kth Largest Element in an Array
    214. Shortest Palindrome
    213. House Robber II
    212. Word Search II
    211. Add and Search Word
    210. Course Schedule II
    分硬币问题
    开始学习Python
  • 原文地址:https://www.cnblogs.com/aipiaoborensheng/p/6537293.html
Copyright © 2011-2022 走看看