Heim >Backend-Entwicklung >PHP-Problem >rdkafka php, wie man es installiert

rdkafka php, wie man es installiert

藏色散人
藏色散人Original
2021-05-13 09:14:442905Durchsuche

So installieren Sie php rdkafka: Laden Sie zuerst librdkafka herunter und installieren Sie es; dann installieren Sie die php-rdkafka-Erweiterung und schreiben Sie schließlich „extension=rdkafka.so“ in php.ini.

rdkafka php, wie man es installiert

Die Betriebsumgebung dieses Artikels: Windows7-System, PHP7.0-Version, DELL G3-Computer

php-rdkafka-Erweiterungsinstallation

php hat zwei Möglichkeiten, Kafka aufzurufen

  • php-rdkafka

Dokumentadresse: https://arnaud-lb.github.io/php-rdkafka/phpdoc/book.rdkafka.html
Die Installation von rdkafka hängt von librdkafka ab, daher müssen wir zuerst librdkafka installieren
Download-Adresse http:// pecl.php.net /package/rdkafka

git clone https://github.com/edenhill/librdkafka.git
cd librdkafka
./configure
make && make install

Installieren Sie die php-rdkafka-Erweiterung

git clone https://github.com/arnaud-lb/php-rdkafka.git
cd php-rdkafka
phpize
./configure --with-php-config=/usr/local/php7.0/bin/php-config
make && make install

und schreiben Sie dann

extension = rdkafka.so


rdkafka php, wie man es installiert




rdkafka php, wie man es installiert in php.ini

rdkafka php, wie man es installiert

  • kafka- PHP-Erweiterungspaket

Dokumentadresse: https://github.com/weiboad/kafka-php

  • Einfaches. Beispiel

Generator

<?php $rk = new RdKafka\Producer();
$rk->setLogLevel(LOG_DEBUG);
$rk->addBrokers("192.168.2.152");

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

for ($i = 0; $i produce(RD_KAFKA_PARTITION_UA, 0, "发送信息: $i");
    $rk->poll(0);
}

while ($rk->getOutQLen() > 0) {
    $rk->poll(50);
}

?>

Consumer

<?php $conf = new RdKafka\Conf();

$conf->set('group.id', 'myConsumerGroup');

$rk = new RdKafka\Consumer($conf);
$rk->addBrokers("192.168.2.150:9092");

$topicConf = new RdKafka\TopicConf();
$topicConf->set('auto.commit.interval.ms', 100);
$topicConf->set('offset.store.method', 'file');
$topicConf->set('offset.store.path', sys_get_temp_dir());
$topicConf->set('auto.offset.reset', 'smallest');

$topic = $rk->newTopic("shop", $topicConf);

// Start consuming partition 0
$topic->consumeStart(0, RD_KAFKA_OFFSET_STORED);

while (true) {
    $message = $topic->consume(0, 120*10000);
    switch ($message->err) {
        case RD_KAFKA_RESP_ERR_NO_ERROR:
        //没有错误打印信息
            var_dump($message);
            break;
        case RD_KAFKA_RESP_ERR__PARTITION_EOF:
            echo "等待接收信息\n";
            break;
        case RD_KAFKA_RESP_ERR__TIMED_OUT:
            echo "超时\n";
            break;
        default:
            throw new \Exception($message->errstr(), $message->err);
            break;
    }
}

?>


rdkafka php, wie man es installiert


Empfohlenes Lernen: „PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonrdkafka php, wie man es installiert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:PHP ruft MySQL-Schritte aufNächster Artikel:PHP ruft MySQL-Schritte auf