linux下php安装php-kafka和php-rdkafka扩展的方法详解

具体步骤:

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

  1. <?php
  2. phpinfo();
  3. ?>

上传到网站目录,查找kafka,如下图所示,说明安装成功!

2. 期间遇到几个坑 前边的步骤都做完后 发现就是扩展没有正常加载上 ,很奇葩 后来看了 php的错误日志 是找不到librdkafka.so.1这个文件,librdkafka安装都是正常的, 百度后 找到了解决方法。

php加载 librdkafka的时候 会在 /usr/lib/下找对应的文件 没有找到回报错,所以加个软链是最简单的方法。

ln -s /usr/local/lib/librdkafka.so.1 /usr/lib/

加了软链后记得一定 更新软链才会生效

ldconfig

然后再重启php-fpm 一切都ok啦 ~~ 。