我们使用官方推荐 php kafka 扩展 phpkafka,由于该扩展是基于 librdkafka 开发,所以我们首先需要安装 librdkafka

下载地址:http://kafka.apache.org/downloads

PHP 扩展:https://github.com/arnaud-lb/php-rdkafka

1、解压 librdkafka,执行 linux 下安装三部曲:./configure --> make --> make install ,此时在 /usr/local/lib 目录下我们可以看到生成的 kafka 库(注意:编译时请用 root 账号编译,否则 make 时会因为权限问题无法创建 kafka 软连接导致编译失败)

2、解压 phpkafka-master,按照 phpkfaka 目录下的 README.md 逐步安装:

(1)检测 librdkafka.so 安装位置:updatedb --> locate librdkafka.so.1

(2)将 librdkafka.so 的目录放入库文件搜索路径下,编辑 /etc/ld.so.conf.d 文件,将 /usr/local/lib 写在文件最后,如果系统中使用 /etc/ld.so.conf.d 目录,那么在该目录下创建一个新的 .conf 文件,由于我的系统中使用 /etc/ld.so.conf.d 目录,所以这里采用第二种方式

(3)更新:ldconfig

(4)加载 php 插件:phpize(注意:该文件在 php 安装目录/bin 文件夹下,如果未将 php 安装目录设置为环境变量,就需要用绝对路径来执行)

(5)配置:./configure --with-php-config=/php安装目录/bin/php-config && make && make install

(6)编译完成后,可以看到在 php 依赖目录下生成了 rdkafka.so 库文件

(7)在 php.ini 中增加扩展:echo extension=rdkafka.so >> php.ini

(8)测试:修改 php-master\example\producer.php 脚本,测试发送数据

具体步骤:

1、安装librdkafka

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

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,如下图所示,说明安装成功!

linux 下安装 php kafka 扩展的更多相关文章

  1. Linux下安装Redis php-redis扩展 redis重启shell脚本 超详细!

    前言 前面刚写过nosql其中三款热门产品的对比,这次主要写关于Redis的一些事情,Redis的介绍.安装以及扩展(php-redis,因为我是phper)安装等等.同时是写给我的朋友(cccjjj ...

  2. linux 下安装php curl扩展

    方法一 安装cURL wget https://curl.haxx.se/download/curl-7.53.1.tar.gz tar -zxf curl-7.17.1.tar.gz ./confi ...

  3. linux下安装memcached以及扩展(xampp环境)

    网上有很多相关的文章,就不具体写了.(假设这里文件都上传到更目录下的tmp文件夹下) 1.大致流程先装 libevent 和 memcache http://www.cnblogs.com/zgx/a ...

  4. Linux下安装 php imagick扩展

    今天小编 由于工作需求用到了 imagick 这个扩展  服务器环境是 lnmp 架构下面稍微来介绍下 这个 东东 imagick是一个PHP的扩展,用ImageMagick提供的API来进行图片的创 ...

  5. Linux下安装memcache PHP扩展

    [root@centos memcache-2.2.4]# wget http://pecl.php.net/get/memcache-2.2.4.tgz [root@centos memcache- ...

  6. Linux下安装Pcntl PHP扩展

    //解压源码包 [root@centos src]# tar -zxvf php-5.5.35.tar.gz //进入pcntl扩展库 [root@centos src]# cd php-5.5.35 ...

  7. linux下安装opcache扩展

    linux下安装opcache扩展   参考:http://www.php.net/manual/zh/opcache.installation.php 1 2 3 4 5 6 7 wget http ...

  8. linux下Redis与phpredis扩展安装

    ++++++++++++++++++++++++++++++++++++++++++++++linux下Redis与phpredis扩展安装++++++++++++++++++++++++++++++ ...

  9. linux 下安装redis以及php Redis扩展

    [php] view plaincopy在CODE上查看代码片派生到我的代码片 linux 下安装redis以及php Redis扩展 环境配置: centos6. nginx/ php/ mysql ...

随机推荐

  1. 10个小技巧助您写出高性能的ASP.NET Core代码

    今天这篇文章我们来聊一聊如何提升并优化ASP.NET Core应用程序的性能,本文的大部分内容来自翻译,当然中间穿插着自己的理解,希望对大家有所帮助!话不多说开始今天的主题吧! 我们都知道性能是公共网 ...

  2. 程序员也想改 Lottie 动画?是的!

    一.前言 Hi,大家好,我是承香墨影! Lottie 是 Airbnb 开源的一套跨平台的完整的动画效果解决方案,用过都说好.完全解耦开发人员和设计师,让设计师设计的动画,在程序中无缝还原,真是一旦拿 ...

  3. Spring学习(二):Spring支持的5种Bean Scope

    序言 Scope是定义Spring如何创建bean的实例的.Spring容器最初提供了两种bean的scope类型:singleton和prototype,但发布2.0以后,又引入了另外三种scope ...

  4. 无需***,轻松提速 Github

    无需***,轻松提速 Github 众所周知,Github 是全球程序员最喜欢访问的网站之一,但是在国内,会很容易出现一个水土不服的局面 -- 下载不了(稍微大一点中途就报错了),下载速度慢 .... ...

  5. 最新阿里Java技术面试题,看这一文就够了!

    金三银四跳槽季即将到来,作为 Java 开发者你开始刷面试题了吗?别急,小编整理了阿里技术面试题,看这一文就够了! 阿里面试题目目录 技术一面(基础面试题目) 技术二面(技术深度.技术原理) 项目实战 ...

  6. 解决vue数据渲染过程中的闪动问题

    关键代码 主要解决vue双大括号{{}}在数据渲染和加载过程中的闪动问题,而影响客服体验. html代码: <span class="tableTitle selftab" ...

  7. jsp内置对象-session对象

    一.session概述 隐含对象session是javax.servlet.http.HttpSession接口实现类的对象,用于保存用户的状态信息. 在web开发中,服务器为每个用户浏览器创建一个会 ...

  8. 豆瓣top250(go版以及python版)

      最近学习go,就找了一个例子练习[go语言爬虫]go语言爬取豆瓣电影top250,思路大概就是获取网页,然后根据页面元素,用正则表达式匹配电影名称.评分.评论人数.原文有个地方需要修改下patte ...

  9. 【English】五、颜色相关

    一.常见颜色 黑色    black    白色    white    蓝色    blue    橙色    orange    黄色    yellow        灰色    gray   ...

  10. 文件去除git版本控制

    git的版本控制是由其文件中的 .git文件来进行控制,但是这个文件一般情况是隐藏的. 想去除git的版本控制,有两种方式. 1.可以直接将其中的.git文件找出并删除 2.还可以通过命令的方式来操作 ...