我想做这样的事情:
1,abc,100
2,xyz,200
3,uyx,300
4,sje,400
5,tek,500
如果我将此输入传递给PHP,它将读取第一行并立即关闭流。我想读/写所有行和流应该一直打开。几乎就像使用超时流一样。
我的代码段如下:
<?php
$rk = new RdKafka\Producer();
$rk->setLogLevel(LOG_DEBUG);
$rk->addBrokers("localhost:9092");
$topic = $rk->newTopic("testing");
$temp = fopen("php://stdin","r");
$line = fgets($temp);
$foo = rtrim($line);
$topic->produce(RD_KAFKA_PARTITION_UA,0,$foo);
答案 0 :(得分:0)
它按预期工作。你只做一个fgets()
所以这就是你将得到的。 Docs read:
读取长度 - 读取1个字节或换行时(或 包含在返回值中)或EOF(以先到者为准)
如果你想阅读更多内容,你需要循环:
while (!feof($temp)) {
$line = rtrim(fgets($temp));
$topic->produce(RD_KAFKA_PARTITION_UA, 0, $line);
}