我们使用官方推荐 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
原文地址:https://www.cnblogs.com/php-linux/p/10787615.html