php安装rdkafka扩展

前言

本文假定已经通过编译安装php程序,如果您是通过其他方式安装的php,实现方式可能有所不同。
运行环境:Centos 7.4PHP7.2.x

安装librdkafka

安装配置Git

在安装之前请先确定当前服务器是否安装 git , 如果已安装配置好git,请直接进入下一步骤。
安装git:

yum -y install git

设置ssh key:
使用 git clone 命令从github上同步github上的代码库时,如果使用SSH链接,而你的SSH key没有添加到github帐号设置中,系统会报下面的错误:

Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.

这时,需要在本地创建SSH key,然后将生成的SSH key文件内容添加到github帐号上去。
创建ssh key的过程如下:

ssh-keygen -t rsa -C "[你的github邮箱地址]"

然后根据提示连按三次enter键,生成的SSH key文件就保存到当前登录用户的"家目录"文件夹下id_rsa.pub文件中。
打开id_rsa.pub文件,复制其内容

vim [用户家目录]/.ssh/id_rsa.pub

请先登录github后,打开https://github.com/settings/keys。
然后点击 New SSH key 按钮,新建SSH key,粘贴刚才从 id_rsa.pub 文件复制的内容,保存后即可。

下载librdkafka

cd /usr/src
git clone [email protected]:edenhill/librdkafka.git

编译安装librdkafka

进入目录

cd librdkafka

安装依赖

yum install librdkafka-devel

编译配置

./configure

正式安装

make && make install

如果一切正常的话,会返回以下结果

Install librdkafka++ to /usr/local
install -d $DESTDIR/usr/local/include/librdkafka && \
install -d $DESTDIR/usr/local/lib && \
install rdkafkacpp.h $DESTDIR/usr/local/include/librdkafka && \
install librdkafka++.a $DESTDIR/usr/local/lib && \
install librdkafka++.so.1 $DESTDIR/usr/local/lib && \
[ -f "rdkafka++.pc" ] && ( \
	install -d $DESTDIR/usr/local/lib/pkgconfig && \
	install -m 0644 rdkafka++.pc $DESTDIR/usr/local/lib/pkgconfig \
) && \
[ -f "rdkafka++-static.pc" ] && ( \
	install -d $DESTDIR/usr/local/lib/pkgconfig && \
	install -m 0644 rdkafka++-static.pc $DESTDIR/usr/local/lib/pkgconfig \
) && \
(cd $DESTDIR/usr/local/lib && ln -sf librdkafka++.so.1 librdkafka++.so)

安装php-rdkafka扩展

可以通过 PEAR / PECL 命令安装rdkafka。

pecl channel-update pecl.php.net
pecl install rdkafka

当显示以下信息时,则说明安装成功

Build process completed successfully
Installing '/usr/local/php/lib/php/extensions/no-debug-zts-20170718/rdkafka.so'
install ok: channel://pecl.php.net/rdkafka-3.1.2
configuration option "php_ini" is not set to php.ini location
You should add "extension=rdkafka.so" to php.ini

配置rdkafka

在安装好 rdkafka 后,需在 php.ini 中加入以下参数:

[rdkafka]
extension=rdkafka.so

保存 php.ini 后记得重启 php-fpm,使其配置生效:

systemctl restart php-fpm

清理临时文件

要养成好习惯,每次编译完后都要把应用包解压出来的文件或目录进行删除。

rm -rf /usr/src/librdkafka

验证是否安装成功

新建一个php文件,并打印 phpinfo() ,看看是否安装成功.
php安装rdkafka扩展_第1张图片

相关文档

librdkafka

php-rdkafka

你可能感兴趣的:(php安装rdkafka扩展)