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
这样可以解决你的问题
对于 Linux Debian Stretch (9.13) 实际流程是:
安装 PHPpecl和pear命令:
sudo apt install php-pear
Run Code Online (Sandbox Code Playgroud)
仅供参考:根据您安装的 PHP 版本,您可能需要使用具体版本包。例如:
php7.2-pear。
添加向后移植存储库。当前 ext-rdkafka 依赖于librdkafka0.11.0 或更高版本。因此请遵循官方说明,但使用stretch-backports.
librdkafka-dev从向后移植安装包:
sudo apt -t stretch-backports install librdkafka-dev
Run Code Online (Sandbox Code Playgroud)
更新apt:
sudo apt update
Run Code Online (Sandbox Code Playgroud)
安装 PECL 包:
sudo pecl install rdkafka
Run Code Online (Sandbox Code Playgroud)
在 PHP 配置中启用 PHP 扩展。添加php.ini:
extension=rdkafka.so
Run Code Online (Sandbox Code Playgroud)
仅供参考:您需要重新启动
php-fpm服务才能应用新的配置参数。