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路径) 如下:
或者输出phpinfo看加载的是哪个php.ini (以这个为准)
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,如下图所示,说明安装成功!