天天看点

linux下php安装php-kafka扩展和php-rdkafka扩展linux下php安装php-kafka扩展和php-rdkafka扩展

linux下php安装php-kafka扩展和php-rdkafka扩展

具体步骤:

1、安装librdkafka

cd /usr/local/software  #进入自己设定的安装包存放目录

先克隆:git clone https://github.com/edenhill/librdkafka.git (但是下载太慢了,建议直接访问该地址去手动下载)

unzip librdkafka-master.zip  #解压

cd librdkafka-master  #进入安装文件夹

./configure   #配置

sudo make  #编译

sudo make install  #安装

注意:

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

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

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

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

ldconfig

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

2、安装phpkafka

cd /usr/local/software  #进入自己习惯的安装包存放目录

git clone https://github.com/arnaud-lb/php-rdkafka.git
cd php-rdkafka
           

/usr/bin//phpize7.2  #加载php扩展模块(可以先whereis phpize 找到对应路径)

./configure --with-php-config=/usr/bin/php-config7.2

sudo make  #编译

sudo make install  #安装

3、修改php配置文件

php --ini  (找到php.ini路径) 如下:

linux下php安装php-kafka扩展和php-rdkafka扩展linux下php安装php-kafka扩展和php-rdkafka扩展

或者输出phpinfo看加载的是哪个php.ini  (以这个为准)

linux下php安装php-kafka扩展和php-rdkafka扩展linux下php安装php-kafka扩展和php-rdkafka扩展

sudo vim /etc/php/7.3/fpm/php.ini  (在最后一行添加:extension=rdkafka.so)

:wq!  #保存退出

重启php:

sudo /etc/init.d/php7.2-fpm restart
           

4、测试

以下代码,保存为phpinfo.php

<?php

phpinfo();

?>

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