我们使用官方推荐 php kafka 扩展 phpkafka,由于该扩展是基于 librdkafka 开发,所以我们首先需要安装 librdkafka
下载地址:https://github.com/edenhill/librdkafka
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-masterexampleproducer.php 脚本,测试发送数据。
---------------------
作者:base__line
来源:CSDN
原文:https://blog.csdn.net/wangchao1988ok/article/details/77746004
版权声明:本文为博主原创文章,转载请附上博文链接!