如何安装适用于 PHP 的 Kafka 扩展?

Avi*_*ava 7 php apache-kafka kafka-consumer-api kafka-producer-api

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

传递到队列的消息应采用 JSON 格式。

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

checking for librdkafka/rdkafka.h" in default path... not found
configure: error: Please reinstall the rdkafka distribution
Run Code Online (Sandbox Code Playgroud)

Aym*_*awy 16

快速安装步骤:

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

sudo apt install php-pear
Run Code Online (Sandbox Code Playgroud)

步骤2 安装librdkafka

sudo apt-get install -y librdkafka-dev
Run Code Online (Sandbox Code Playgroud)

步骤 3 安装 PECL 包

sudo pecl install rdkafka
Run Code Online (Sandbox Code Playgroud)

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

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

extension=rdkafka.so
Run Code Online (Sandbox Code Playgroud)

步骤4 重启apache服务器

sudo service apache2 restart
Run Code Online (Sandbox Code Playgroud)


小智 6

因为你需要另一个包librdkafka,你应该先安装librdkafka

这样可以解决你的问题


Ale*_*ruk 5

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

  1. 安装 PHPpeclpear命令:

    sudo apt install php-pear
    
    Run Code Online (Sandbox Code Playgroud)

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

  2. 添加向后移植存储库。当前 ext-rdkafka 依赖于librdkafka0.11.0 或更高版本。因此请遵循官方说明,但使用stretch-backports.

  3. librdkafka-dev从向后移植安装包:

    sudo apt -t stretch-backports install librdkafka-dev
    
    Run Code Online (Sandbox Code Playgroud)
  4. 更新apt:

    sudo apt update
    
    Run Code Online (Sandbox Code Playgroud)
  5. 安装 PECL 包:

    sudo pecl install rdkafka
    
    Run Code Online (Sandbox Code Playgroud)
  6. 在 PHP 配置中启用 PHP 扩展。添加php.ini

    extension=rdkafka.so
    
    Run Code Online (Sandbox Code Playgroud)

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