linux 下安裝 php kafka 擴展
我們使用官方推薦 php kafka 擴展 phpkafka,由於該擴展是基於 librdkafka 開發,所以我們首先需要安裝 librdkafka
下載地址:http://kafka.apache.org/downloads
PHP 擴展:https://github.com/arnaud-lb/php-rdkafka
1、解壓 librdkafka,執行 linux 下安裝三部曲:./configure --> make --> make install ,此時在 /usr/local/lib 目錄下我們可以看到生成的 kafka 庫(註意:編譯時請用 root 賬號編譯,否則 make 時會因為權限問題無法創建 kafka 軟連接導致編譯失敗)
2、解壓 phpkafka-master,按照 phpkfaka 目錄下的 README.md 逐步安裝:
(1)檢測 librdkafka.so 安裝位置:updatedb --> locate librdkafka.so.1
(2)將 librdkafka.so 的目錄放入庫文件搜索路徑下,編輯 /etc/ld.so.conf.d 文件,將 /usr/local/lib 寫在文件最後,如果系統中使用 /etc/ld.so.conf.d 目錄,那麽在該目錄下創建一個新的 .conf 文件,由於我的系統中使用 /etc/ld.so.conf.d 目錄,所以這裏采用第二種方式
(3)更新:ldconfig
(4)加載 php 插件:phpize(註意:該文件在 php 安裝目錄/bin 文件夾下,如果未將 php 安裝目錄設置為環境變量,就需要用絕對路徑來執行)
(5)配置:./configure --with-php-config=/php安裝目錄/bin/php-config && make && make install
(6)編譯完成後,可以看到在 php 依賴目錄下生成了 rdkafka.so 庫文件
(7)在 php.ini 中增加擴展:echo extension=rdkafka.so >> php.ini
(8)測試:修改 php-master\example\producer.php 腳本,測試發送數據
具體步驟:
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
<?php
phpinfo();
?>
上傳到網站目錄,查找kafka,如下圖所示,說明安裝成功!
https://blog.csdn.net/zsl10/article/details/78743335
linux 下安裝 php kafka 擴展