• PHP 使用 Kafka 安装拾遗


    最近项目开发中需要使用 Kafka 消息队列。经过检索,PHP下面有通用的两种方式来调用 Kafka

    php-rdkafka 扩展

    以 PHP 扩展的形式进行使用是非常高效的。另外,该项目也提供了非常完备的 文档

    不过在 Mac 环境中安装的过程中出现了以下报错:

    
    $ sudo pecl install rdkafka
    
    checking for re2c... no
    configure: WARNING: You will need re2c 0.13.4 or later if you want to regenerate PHP parsers.
    checking for gawk... no
    checking for nawk... no
    checking for awk... awk
    checking if awk is broken... no
    checking for rdkafka support... yes, shared
    checking for librdkafka/rdkafka.h" in default path... not found
    configure: error: Please reinstall the rdkafka distribution
    
    

    开始以为是因为 pecl 安装缺少了一些依赖。然后使用了源码编译的方式进行安装:

    
    $ git clone https://github.com/arnaud-lb/php-rdkafka.git
    $ cd php-rdkafka
    $ phpize
    $ ./configure
    $ make all -j 5
    
    ....
    checking for re2c... no
    configure: WARNING: You will need re2c 0.13.4 or later if you want to regenerate PHP parsers.
    checking for gawk... no
    checking for nawk... no
    checking for awk... awk
    checking if awk is broken... no
    checking for rdkafka support... yes, shared
    checking for librdkafka/rdkafka.h" in default path... not found
    configure: error: Please reinstall the rdkafka distribution
    

    同样报错了。后来仔细看文档才发现。这里有一个依赖:librdkafka

    然后安装它:

    
    $ git clone https://github.com/edenhill/librdkafka.git
    $ cd librdkafka
    $ ./configure
    $ make && make install
    
    

    再执行 sudo pecl install rdkafka ,执行OK。

    然后将 rdkafka.so 添加到相应的 /path/to/php.ini 的末尾即可。

    执行 php -m | grep rdkafka ,验证是否添加完成。

    kafka-php 扩展包

    Kafka-php 使用纯粹的 PHP 编写的 Kafka 客户端,目前支持 0.8.x 以上版本的 Kafka。由于使用 PHP 语言编写所以不用编译任何的扩展就可以使用,降低了接入与维护成本。

    原文地址:https://segmentfault.com/a/1190000016310618

  • 相关阅读:
    3728 联合权值[NOIP 2014 Day1 T2]
    关于深度优先遍历图的非递归算法的一个讨论
    图的遍历递归和非递归实现【整理自网络】
    CSS 居中布局
    css怎样让背景充满整个屏幕
    关于html,body{height:100%}的解释
    4103:踩方格
    2287 火车站
    平面分割问题
    蜜蜂路线
  • 原文地址:https://www.cnblogs.com/lalalagq/p/9971478.html
Copyright © 2020-2023  润新知