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,如下圖所示,說明安裝成功!