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

rdkafka php, wie man es installiert

藏色散人
Freigeben: 2023-03-09 16:44:02
Original
2898 Leute haben es durchsucht

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
Nach dem Login kopieren

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
Nach dem Login kopieren

und schreiben Sie dann

extension = rdkafka.so
Nach dem Login kopieren


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);
}

?>
Nach dem Login kopieren

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;
    }
}

?>
Nach dem Login kopieren


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!

Verwandte Etiketten:
php
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage