流沙团
windows上 php安装 Kafka扩展
2020-1-15 流沙团


0x01 确定自己的php版本







php.jpg







0x02 下载kafka组件







下载地址 https://pecl.php.net/package/rdkafka







找到对应的版本, 测试了4.x win10的机器, 用代码测试报错, 下载3.1.3的版本 测试正常



kafka.jpg



kafka1.jpg







根据自己的环境, 下载相应的版本







0x03 安装插件



复制 librdkafka.dll 到F:\phpStudy\PHPTutorial\php\php-7.3.4-nts\目录下



复制php_rdkafka.dll放到 F:\phpStudy\PHPTutorial\php\php-7.3.4-nts\ext目录下



在 php.ini 文件中添加 extension=php_rdkafka.dll







0x04 查看配置



kafka9.jpg







0x05 测试Demo







直接php 执行文件 (搭建自己的zk集群和kafka集群)







生产者






<?php

$rk = new RdKafka\Producer();
$rk->setLogLevel(LOG_DEBUG);
$rk->addBrokers("127.0.0.1");

$topic = $rk->newTopic("test");

for ($i = 0; $i < 10; $i++) {
$topic->produce(RD_KAFKA_PARTITION_UA, 0, "Message $i");
}







消费者






<?php

$rk = new RdKafka\Consumer();
$rk->setLogLevel(LOG_DEBUG);
$rk->addBrokers("127.0.0.1");

$topic = $rk->newTopic("test");

$topic->consumeStart(0, RD_KAFKA_OFFSET_BEGINNING);

while (true) {
$msg = $topic->consume(0, 1000);
if (null === $msg) {
continue;
} elseif ($msg->err) {
echo $msg->errstr(), "\n";
break;
} else {
echo $msg->payload, "\n";
}
}












发表评论:
昵称

邮件地址 (选填)

个人主页 (选填)

内容