zklib php,zookeeper和PHP zookeeper和kafka 扩展安装,以及php调用实例

源码编译安装zookeeper

cd /usr/local/

tar -zxf zookeeper-3.4.9.tar.gz

cd zookeeper-3.4.9/src/c

./configure --prefix=/usr/local/zookeeper-3.4.9/

make

make install

设置全局变量

vim ~/.bash_profile

最后一行加入

export PATH=/usr/local/zookeeper-3.4.9/bin:$PATH

使之生效

source ~/.bash_profile

配置文件位置

/usr/local/zookeeper-3.4.9/conf/zoo.cfg

注意:默认配置文件并没有,直有一个案例文件 zoo_sample.cfg

使用的时候要 自行复制一个

cp /usr/local/zookeeper-3.4.9/conf/zoo_sample.cfg /usr/local/zookeeper-3.4.9/conf/zoo.cfg

2.安装php zookeeper扩展

tar -zxvf zookeeper-0.2.2.tgz

cd zookeeper-0.2.2

./configure --with-php-config=/opt/lampp/bin/php-config --with-libzookeeper-dir=/usr/local/zookeeper-3.4.9/

make

make install

3.安装librdkafka

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

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

unzip librdkafka-master.zip #解压

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

./configure #配置

make #编译

make install #安装

4.安装phpkafka

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

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 #安装

5.配置扩展

vim php.ini

末尾增加

extension=zookeeper.so

extension=kafka.so

注意:先查找 extension_dir 是否已经配置过,如果没有配置,请自行配置。

每个扩展编译安装成功后都会输出(类似如下)

Installing shared extensions: /安装目录/php5.6.23/lib/php/extensions/no-debug-non-zts-20131226/

只要把地址复制,改成如下格式,加入到php.ini里

extension_dir=/安装目录/php5.6.23/lib/php/extensions/no-debug-non-zts-20131226/

6.查看是否安装完成

在 phpinfo(); 里面查看 是否有 kafka,zookeeper 扩展,如果有表示安装成功

7.安装composer

mv composer.phar /usr/local/bin/composer

8、composer 安装 nmred/kafka-php

使用 :进入composer.json 所在的目录 执行:composer install

composer.json 内容如下:

{

"repositories": {

"packagist": {

"type": "composer",

"url": "https://packagist.phpcomposer.com"

}

},

"require": {

"nmred/kafka-php": "0.1.*"

}

}

repositories的作用是使得 composer安装的时候 速度更快

require 则是需要下载的类库

8、PHP 调用下载的类库

require 'vendor/autoload.php';

$consumer = \Kafka\Consumer::getInstance('localhost:2181/kafka');

$consumer->setGroup(1);

$consumer->setPartition('topicName',0,9);

while(true)

{

$result = $consumer->fetch();

if($result)

{

foreach ($result as $topicName => $topic) {

foreach ($topic as $partId => $partition) {

foreach ($partition as $message) {

var_dump((string)$message);

}

}

}

}

sleep(1);

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值