资讯专栏INFORMATION COLUMN

PHP 使用 Kafka 安装拾遗

SimonMa / 1218人阅读

摘要:最近项目开发中需要使用消息队列。不过在环境中安装的过程中出现了以下报错开始以为是因为安装缺少了一些依赖。然后使用了源码编译的方式进行安装同样报错了。然后安装它再执行,执行。扩展包使用纯粹的编写的客户端,目前支持以上版本的。

最近项目开发中需要使用 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://www.ucloud.cn/yun/29408.html

相关文章

  • PHP 使用 Kafka 安装拾遗

    摘要:最近项目开发中需要使用消息队列。不过在环境中安装的过程中出现了以下报错开始以为是因为安装缺少了一些依赖。然后使用了源码编译的方式进行安装同样报错了。然后安装它再执行,执行。扩展包使用纯粹的编写的客户端,目前支持以上版本的。 最近项目开发中需要使用 Kafka 消息队列。经过检索,PHP下面有通用的两种方式来调用 Kafka 。 php-rdkafka 扩展 以 PHP 扩展的形式进行...

    Steven 评论0 收藏0
  • php+kafka+zookeeper+logstash

    摘要:本文主要实现的目标是连接并且成功发送消息给。发送消息网上找了一圈,终于找到一个可以用的也可以用代码如下发送消息到不同的参考文章最后附一张截图 本文主要实现的目标是php连接kafka并且成功发送消息给kafka。为了验证这个连接和发送,另外配置了logstash监听kafka相对应的消息,然后转发到redis,原来我不知道对kafka比较陌生,不知道怎么看里面的消息内容(我知道安装包里...

    Moxmi 评论0 收藏0
  • php+kafka+zookeeper+logstash

    摘要:本文主要实现的目标是连接并且成功发送消息给。发送消息网上找了一圈,终于找到一个可以用的也可以用代码如下发送消息到不同的参考文章最后附一张截图 本文主要实现的目标是php连接kafka并且成功发送消息给kafka。为了验证这个连接和发送,另外配置了logstash监听kafka相对应的消息,然后转发到redis,原来我不知道对kafka比较陌生,不知道怎么看里面的消息内容(我知道安装包里...

    trigkit4 评论0 收藏0
  • PHPkafka的实践

    摘要:消息以为类别记录将消息种子分类每一类的消息称之为一个主题。这意味着生产者不等待来自同步完成的确认继续发送下一条批消息。这意味着在已成功收到的数据并得到确认后发送下一条。三种机制,性能依次递减吞吐量降低,数据健壮性则依次递增。 kafka 简介 Kafka 是一种高吞吐量的分布式发布订阅消息系统 kafka角色必知 producer:生产者。 consumer:消费者。 topic: 消...

    Chaz 评论0 收藏0
  • PHPkafka的实践

    摘要:消息以为类别记录将消息种子分类每一类的消息称之为一个主题。这意味着生产者不等待来自同步完成的确认继续发送下一条批消息。这意味着在已成功收到的数据并得到确认后发送下一条。三种机制,性能依次递减吞吐量降低,数据健壮性则依次递增。 kafka 简介 Kafka 是一种高吞吐量的分布式发布订阅消息系统 kafka角色必知 producer:生产者。 consumer:消费者。 topic: 消...

    Codeing_ls 评论0 收藏0

发表评论

0条评论

SimonMa

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<