本文假定已经通过编译安装php程序,如果您是通过其他方式安装的php,实现方式可能有所不同。
运行环境:Centos 7.4、PHP7.2.x。
在安装之前请先确定当前服务器是否安装 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
文件复制的内容,保存后即可。
cd /usr/src
git clone [email protected]:edenhill/librdkafka.git
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)
可以通过 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 后,需在 php.ini 中加入以下参数:
[rdkafka]
extension=rdkafka.so
保存 php.ini 后记得重启 php-fpm,使其配置生效:
systemctl restart php-fpm
要养成好习惯,每次编译完后都要把应用包解压出来的文件或目录进行删除。
rm -rf /usr/src/librdkafka
新建一个php文件,并打印 phpinfo() ,看看是否安装成功.
librdkafka
php-rdkafka