美文网首页
lnmp下php扩展amqp安装,报错及解决

lnmp下php扩展amqp安装,报错及解决

作者: 残缺的迂回 | 来源:发表于2018-04-26 11:22 被阅读152次

    安装之前首先了解一些概念:
    什么是MQ?MQ全称为Message Queue, 是一种分布式应用程序的的通信方法,它是消费-生产者模型的一个典型的代表,producer往消息队列中不断写入消息,而另一端consumer则可以读取或者订阅队列中的消息。

    RabbitMQ是MQ产品的典型代表,是一款基于AMQP协议可复用的企业消息系统。业务上,可以实现服务提供者和消费者之间的数据解耦,提供高可用性的消息传输机制,在实际生产中应用相当广泛。想了解更多原理方面可自行查询,提供参考文章——Rabbitmq基本原理

    安装amqp之前需要先安装rabbitmq-c,rabbitmq-c是一个用于C语言的,与AMQP server进行交互的client库。
    环境参数【centos+lnmp1.4一键包,php7.1.7】

    开始下载最新版本rabbitmq-c和amqp进行安装
    wget https://github.com/alanxz/rabbitmq-c/releases/download/v0.8.0/rabbitmq-c-0.8.0.tar.gz
    wget http://pecl.php.net/get/amqp-1.9.3.tgz
    tar xvzf amqp-1.9.3.tgz
    tar zxf rabbitmq-c-0.8.0.tar.gz

    cd rabbitmq-c-0.8.0/
    ./configure --prefix=/usr/local/rabbitmq-c-0.8.0
    make
    make install

    cd ..
    cd amqp-1.9.3/
    phpize
    ./configure --with-php-config=/usr/local/php/bin/php-config --with-amqp --with-librabbitmq-dir=/usr/local/rabbitmq-c-0.8.0
    make && make install

    vim /usr/local/php/etc/php.ini最后一行加上extension = /usr/local/php/lib/php/extensions/no-debug-non-zts-20160303/amqp.so
    lnmp restart
    php -m | grep amqp

    到这就安装完成了,但是中间有几个需要注意的地方,也有一些安装失败报错的坑。

    安装amqp中--with-php-config=需填写你环境对应的php位置,--with-librabbitmq-dir=之前安装rabbitmq-c的位置。

    安装amqp如果有这种错误make: *** [amqp_exchange.lo] Error 1 应该是rabbitmq-c和amqp版本不兼容导致的,都用最新版的就不会有这种问题。GitHub有这种问题 https://github.com/pdezwart/php-amqp/issues/127

    相关文章

      网友评论

          本文标题:lnmp下php扩展amqp安装,报错及解决

          本文链接:https://www.haomeiwen.com/subject/cmdplftx.html