idealo/php-rdkafka-ffi

PHP Kafka client - binding librdkafka via FFI

v0.5.0 2023-01-21 20:47 UTC

This package is auto-updated.

Last update: 2024-11-25 10:49:41 UTC


README

Build Extension Compatibility Build macOS Build Windows

Test Coverage Maintainability Packagist

This is a Kafka client library for PHP ^7.4 and ^8.0 with a slim librdkafka binding via FFI.

It supports the same interfaces as the PHP RdKafka extension ^5.0 and ^6.0.

Supported Features

  • Consumer (low and high level)
  • Producer (with support for transactional producing)
  • Admin Client
  • Mock Cluster to simplify integration tests (even with error situations)
  • Support for error handling and logging via callbacks

Runtime Requirements

  • PHP ^7.4 or ^8.0 with extensions FFI enabled
  • librdkafka ^1.0.0 or ^2.0.0
  • Conflicts: RdKafka extension
  • Suggested:
    • zend opcache extension for preloading
    • pcntl extension for faster shutdown in request/response context

Note: Support for macOS and Windows is experimental.

Installation

composer require idealo/php-rdkafka-ffi

Note: Expect breaking changes along all 0.* pre-releases. This changes may depend on upcoming major releases of the RdKafka extension or improved interfaces for the experimental features like transactional producer, mock cluster and admin client.

Documentation

https://idealo.github.io/php-rdkafka-ffi/

Changelog

See Changelog for details.

Contributing

We welcome all kinds of contributions. See the Contribution guide for more details.

License

See License for details.