linux 下安装 php kafka 扩展

Posted php-linux

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux 下安装 php kafka 扩展相关的知识,希望对你有一定的参考价值。

我们使用官方推荐 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,如下图所示,说明安装成功!

 

https://blog.csdn.net/zsl10/article/details/78743335

以上是关于linux 下安装 php kafka 扩展的主要内容,如果未能解决你的问题,请参考以下文章

linux 下安装php扩展

Linux下php安装curl扩展

Linux下php安装Redis扩展

linux 下安装php扩展

Linux下php安装memcache扩展

Linux下利用phpize安装memcashe的php源码扩展包