Как мне установить расширение Kafka для PHP?
Это расширение, которое я пытаюсь установить: https://github.com/EVODelavega/phpkafka
Сообщения, передаваемые в очередь, должны быть в формате JSON.
В настоящее время я получаю ошибки установки: 1. В инструкциях меня просят установить librdkafka. 2. Ссылка для установки на вышеуказанном шаге такова. Я не могу установить, используя 1-й и 4-й метод. Это ошибка:
checking for librdkafka/rdkafka.h" in default path... not found
configure: error: Please reinstall the rdkafka distribution
1 ответ
Шаги быстрой установки:
Шаг 1 Установите команды PHP pecl и pear:
sudo apt install php-pear
Шаг 2 Установите librdkafka
sudo apt-get install -y librdkafka-dev
Шаг 3 Установите PECL-пакет
sudo pecl install rdkafka
Шаг 4 Включите PHP-расширение в конфигурации PHP. Добавить в php.ini
sudo nano /etc/php/7.4/cli/php.ini
extension=rdkafka.so
Шаг 4 Перезагрузите сервер Apache
sudo service apache2 restart
Потому что вам нужен еще один пакет librdkafka, вы должны сначала установить librdkafka
- $ git clone https://github.com/edenhill/librdkafka.git
- $ cd librdkafka
- $./configure
- $ make && make install
таким образом можно решить вашу проблему
Для Linux Debian Stretch (9.13) фактический поток:
Установить PHP
pecl
а такжеpear
команды:sudo apt install php-pear
К вашему сведению: в зависимости от установленной версии PHP вам может потребоваться использовать конкретную версию пакета. Например:
php7.2-pear
.Добавить репозиторий backports. Текущая ext-rdkafka зависит от
librdkafka
версия 0.11.0 или выше. Так что следуйте официальным инструкциям, но используйтеstretch-backports
.Установить
librdkafka-dev
посылка из бэкпортов:sudo apt -t stretch-backports install librdkafka-dev
Обновить apt:
sudo apt update
Установите PECL-пакет:
sudo pecl install rdkafka
Включите PHP-расширение в конфиге PHP. добавить в
php.ini
:extension=rdkafka.so
К вашему сведению: вам нужно перезагрузить
php-fpm
сервис для применения новых параметров конфигурации.
URL, на который вы ссылались librdkafka
в вашем вопросе документация php-rdkafka, другого расширения PHP для Kafka, альтернативного EVODelavega / phpkafka.
librdkafka можно найти здесь: https://github.com/edenhill/librdkafka. Если вы работаете в Linux, вы можете установить его с помощью менеджера пакетов (например, apt install librdkafka
).