Linux下PHP安装kafka扩展模块

在Linux下安装PHP的Kafka扩展模块,可以按照以下步骤进行:

Linux下PHP安装kafka扩展模块
(图片来源网络,侵删)

1、安装Kafka

首先需要安装Kafka,可以使用官方提供的二进制包进行安装,以Ubuntu为例,执行以下命令:

sudo aptget update
sudo aptget install librdkafkadev

2、下载PHP Kafka扩展模块

从GitHub上下载PHP Kafka扩展模块的源代码:

git clone https://github.com/phprdk/phprdkafka.git

3、编译安装PHP Kafka扩展模块

进入phprdkafka目录,执行以下命令进行编译安装:

cd phprdkafka
phpize
./configure withlibrdkafka=/usr/local/lib
make && make install

4、配置PHP环境

编辑php.ini文件,添加以下内容:

extension=rdkafka.so

重启PHP服务:

sudo service php7.4fpm restart

5、验证安装是否成功

创建一个名为test.php的文件,内容如下:

<?php
$conf = new RdKafkaConf();
$conf>set('bootstrap.servers', 'localhost:9092');
$consumer = new RdKafkaKafkaConsumer($conf);
$consumer>subscribe(['test']);
while (true) {
    $message = $consumer>consume(120*1000); // 120 seconds to consume messages with a maximum delay of 100ms.
    if ($message>err()) { continue; } // Error occurred while consuming message, skip it and continue.
    var_dump($message); // Dump the received message to the screen.
}
?>

运行以下命令启动一个简单的Kafka服务器:

docker run d rm name kafka p 9092:9092 spotify/kafka:lateststrimzi kafkaserverstart.sh config/server.properties override listeners=PLAINTEXT://:9092 override advertised.listeners=PLAINTEXT://:9092 interactive

然后运行以下命令测试PHP Kafka扩展模块是否安装成功:

php test.php

如果看到类似以下的输出,说明PHP Kafka扩展模块已经成功安装并可以正常工作:

object(RdKafkaMessage)#1 (8) { ["payload":"RdKafkaMessagePayload":private]=> object(RdKafkaMessagePayload)#2 (6) { ["message":"string"]=> string(13) "Hello, World!" ["key":"array"]=> array(0) { } ["partition":"int"]=> int(0) ["offset":"int"]=> int(0) ["timestamp":"int"]=> int(1628753676) ["err":"NULL"]=> NULL } ["err":"NULL"]=> NULL ["topic":"string"]=> string(4) "test" ["partition":"int"]=> int(0) ["offset":"int"]=> int(0) ["timestamp":"int"]=> int(1628753676) ["err":"NULL"]=> NULL } [...其他属性] }

原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/677923.html

(0)
未希新媒体运营
上一篇 2024-06-09 01:36
下一篇 2024-06-09 01:53

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购  >>点击进入