如何为PHP安装Kafka的扩展?

时间:2017-12-06 14:16:30

标签: php apache-kafka kafka-consumer-api kafka-producer-api

这是我尝试安装的扩展程序:https://github.com/EVODelavega/phpkafka

传递给队列的消息应该是JSON格式。

目前,我收到安装错误: 1.说明书要求我安装librdkafka。 2.上述步骤的安装链接为this。我无法使用第1和第4种方法安装。这是错误:

checking for librdkafka/rdkafka.h" in default path... not found
configure: error: Please reinstall the rdkafka distribution

4 个答案:

答案 0 :(得分:2)

对于Linux Debian Stretch(9.13),实际流程为:

  1. 安装PHP peclpear命令:

    sudo apt install php-pear
    

    仅供参考:根据您安装的PHP版本,您可能需要使用具体的版本包。例如:php7.2-pear

  2. 添加反向端口存储库。当前的ext-rdkafka依赖于librdkafka版本0.11.0或更高版本。因此,遵循official instructions,但使用stretch-backports

  3. 从反向端口安装librdkafka-dev软件包:

    sudo apt -t stretch-backports install librdkafka-dev
    
  4. 更新apt:

    sudo apt update
    
  5. 安装PECL软件包:

    sudo pecl install rdkafka
    
  6. 在PHP配置中启用PHP扩展。添加到php.ini

    extension=rdkafka.so
    

    仅供参考:您需要重新启动php-fpm服务以应用新的配置参数。

答案 1 :(得分:1)

您在问题中链接到librdkafka的网址是php-rdkafka的文档,这是Kafka的另一个PHP扩展,可替代EVODelavega / phpkafka。

librdkafka可以在这里找到:https://github.com/edenhill/librdkafka。如果您运行的是Linux,则可以使用软件包管理器(例如apt install librdkafka)安装它。

答案 2 :(得分:1)

因为您需要另一个软件包librdkafka,所以应该先安装librdkafka

这种方法可以解决您的问题

答案 3 :(得分:0)

快速安装步骤:

步骤1安装PHP pecl和pear命令:

sudo apt install php-pear

步骤2安装librdkafka

sudo apt-get install -y librdkafka-dev

第3步安装PECL软件包

sudo pecl install rdkafka

Step4在PHP配置中启用PHP扩展。添加到php.ini

sudo nano /etc/php/7.4/cli/php.ini

extension=rdkafka.so

第4步,重新启动apache服务器

sudo service apache2 restart