我们使用官方推荐 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. TypeScript 上手教程

    无疑,对于大型项目来说,Vanilla Js 无法满足工程需求.早在 2016 年 Anuglar 在项目中引入 TypeScript 时,大概也是考虑到强类型约束对于大型工程的必要性,具体选型考虑可 ...

  2. Java~命名规范

    下面总结以点java命名规范 虽然感觉这些规范比起C#来说有点怪,但还是应该尊重它的命名! 命名规范 项目名全部小写 包名全部小写 类名首字母大写,如果类名由多个单词组成,每个单词的首字母都要大写. ...

  3. [开源]Dapper Repository 一种实现方式

    接着上篇[开源]Entity Framework 6 Repository 一种实现方式 由于Dapper 本身就是轻量级Orm特性,这里参考Creating a Data Repository us ...

  4. 进阶!基于CentOS7系统使用cobbler实现单台服务器批量自动化安装不同版本系统(week3_day5_part2)-技术流ken

    前言 在上一篇博文<cobbler批量安装系统使用详解-技术流ken>中已经详细讲解了cobbler的使用以及安装,本篇博文将会使用单台cobbler实现自动化批量安装不同版本的操作系统. ...

  5. 记一次按需加载和npm模块发布实践

    按需加载 在使用 lodash 的时候我们可以使用这样的代码 //一 import {omit} from "lodash"; //二 import l from "lo ...

  6. python -使用del语句删除对象引用

    使用del语句删除一些对象引用. 注意不是把内存地址删了,你只是删除了引用,它就变为了一个可回收的对象,内存会不定期回收. del语句的语法是: del var1[,var2[,var3[....,v ...

  7. Android SDK 开发——发布使用踩坑之路

    前言 在 Android 开发过程中,有些功能是通用的,或者是多个业务方都需要使用的. 为了统一功能逻辑及避免重复开发,因此将该功能开发成一个 SDK 是相当有必要的. 背景 刚好最近自己遇到了类似需 ...

  8. EF Core 快速上手——EF Core 入门

    EF Core 快速上手--EF Core 介绍 本章导航 从本书你能学到什么 对EF6.x 程序员的一些话 EF Core 概述 1.3.1 ORM框架的缺点 第一个EF Core应用   本文是对 ...

  9. ServiceStack.Redis 请求次数6000次异常

    Redis是一个非常NB的内存级的数据库,我们可以把很多”热数据“(即读写非常多的数据)放入其中来操作,这样就减少了和关系型数据库(如SqlServer/My Sql等)之间的交互,程序的响应速度也大 ...

  10. iOS----------Xcode 无线调试

    环境要求: 至少Mac OSX 10.12.6 iOS 11 Xcode 9 1. ”自己的工程“ -> windows -> Device and Simulators ,打开设备和模拟 ...