# PHP7如何安装kafka扩展
如果你正在使用PHP7并且需要使用kafka扩展,那么你会发现PHP7的kafka扩展并不是与PHP5一样直接安装即可使用,而是需要额外的配置和编译。在本文中,我们将介绍如何安装kafka扩展。
## 1. 安装librdkafka
在安装kafka扩展之前,我们需要安装librdkafka库,它是kafka扩展所依赖的库。
### 1.1 安装依赖项
首先,我们需要安装相关的依赖项。在Ubuntu中,执行以下命令:
```
sudo apt-get install -y \
git \
zlib1g-dev \
libssl-dev \
libcurl4-openssl-dev \
libsasl2-dev \
libxml2-dev
```
### 1.2 下载并编译librdkafka
然后,我们需要下载librdkafka库并编译它。执行以下命令:
```
git clone https://github.com/edenhill/librdkafka.git
cd librdkafka
./configure
make && sudo make install
```
### 1.3 修改LD_LIBRARY_PATH
最后,我们需要将librdkafka库添加到`LD_LIBRARY_PATH`环境变量中。执行以下命令:
```
echo "/usr/local/lib" | sudo tee --append /etc/ld.so.conf.d/local.conf
sudo ldconfig
```
以上步骤完成后,我们就可以开始安装kafka扩展了。
## 2. 安装kafka扩展
### 2.1 下载并编译kafka扩展
首先,我们需要下载kafka扩展源码并编译它。执行以下命令:
```
git clone https://github.com/arnaud-lb/php-rdkafka.git
cd php-rdkafka
phpize
./configure
make all -j$(nproc) && sudo make install
```
### 2.2 修改php.ini
然后,我们需要在`php.ini`中添加kafka扩展。执行以下命令来查找`php.ini`文件的位置:
```
php -i | grep 'Loaded Configuration File'
```
找到`php.ini`文件之后,在尾部添加以下行:
```
extension=rdkafka.so
```
### 2.3 重启PHP-FPM
最后,我们需要重启PHP-FPM来使修改生效。执行以下命令:
```
sudo service php7.0-fpm restart
```
完成以上步骤后,我们就可以开始在PHP7中使用kafka扩展了。
## 3. 使用kafka扩展
使用kafka扩展的过程与使用PHP5中的kafka扩展类似。以下是一个简单的例子:
```php
$rk = new RdKafka\Producer();
$rk->setLogLevel(LOG_DEBUG);
$rk->addBrokers("localhost:9092");
$topic = $rk->newTopic("test");
for ($i = 0; $i < 100; $i++) {
$topic->produce(RD_KAFKA_PARTITION_UA, 0, "Message $i");
}
?>
```
上面的例子是一个简单的生产者,它将100条消息发送到名为"test"的主题中。
## 结论
在本文中,我们介绍了如何安装kafka扩展。需要先安装librdkafka,然后编译并安装kafka扩展。安装完成之后,我们可以在PHP7中使用kafka扩展来与kafka集群通信。