您的位置:首页 > 运维架构 > Linux

linux 下php对kafka的扩展

2016-07-21 14:56 351 查看


1、安装librdkafka

wget https://github.com/edenhill/librdkafka/archive/master.zip #下载

mv master.zip librdkafka-master.zip #修改包名

unzip librdkafka-master.zip #解压

cd librdkafka-master #进入安装文件夹

./configure #配置

make #编译

make install #安装

2、安装phpkafka

cd /usr/local/src #进入安装包存放目录

wget https://github.com/EVODelavega/phpkafka/archive/master.zip #下载

mv master.zip phpkafka-master.zip #修改包名

unzip phpkafka-master.zip #解压

cd phpkafka-master #进入安装文件夹

/usr/local/php/bin/phpize #加载php扩展模块

./configure --enable-kafka --with-php-config=/usr/local/php/bin/php-config #配置

make #编译

make install #安装

3、修改php配置文件

vi /usr/local/php/etc/php.ini 

打开php配置文件,在最后一行添加下面的代码

extension="kafka.so"

:wq! #保存退出

4、测试

以下代码,保存为phpinfo.php

<?php

phpinfo();

?>

有kafka模块

这是生产者

$kafka = new Kafka("localhost:9092");
$partitions = $kafka->getPartitionsForTopic('testkk');
$in = fopen('php://stdin', 'r');
while (true) {
echo "\nEnter comma separated messages:\n";
$messages = explode(',', fgets($in));
foreach (array_keys($messages) as $k) {
//$messages[$k] = trim($messages[$k]);
}
$bytes=$kafka->produce("testkk", "kkkkkkk");
printf("\nSuccessfully sent %d messages (%d bytes)\n\n", count($messages), $bytes);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: