Skip to content

A PHP extension for interfacing with Apache ZooKeeper

License

Notifications You must be signed in to change notification settings

mlocati/php-zookeeper

 
 

Repository files navigation

PHP ZooKeeper Extension

Build Status Coveralls

This extension uses libzookeeper library to provide API for communicating with ZooKeeper service.

ZooKeeper is an Apache project that enables centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services.

Requirements

Install

1.Compile ZooKeeper C Binding

$ ./configure --prefix=/path/to/zookeeper-c-binding
$ make
$ sudo make install

As of ZooKeeper 3.5.0, after unpacking source tarball, the following command should be executed before above-metioned steps:

$ autoreconf -if

As of ZooKeeper 3.5.9, the following command should be executed before autoreconf -if:

$ ant compile_jute

As of ZooKeeper 3.6.0, ant will fail because of missing build.xml. That file and two other files can be found in source tarball of 3.5.9:

$ cd apache-zookeeper-3.5.9
$ cp build.xml ivy* ../apache-zookeeper-3.6.2

2.Compile PHP ZooKeeper Extension

$ phpize
$ ./configure --with-libzookeeper-dir=/path/to/zookeeper-c-binding
$ make
$ sudo make install

Examples

<?php
$zc = new Zookeeper();
$zc->connect('localhost:2181');
var_dump($zc->get('/zookeeper'));
?>

Working with other extensions

1.Swoole

Swoole\Async::set([
    'enable_signalfd' => false, // See: https://github.com/swoole/swoole-src/issues/302
]);

$zk = new Zookeeper('localhost:2181');

Swoole\Process::signal(SIGTERM, function() {
        echo "TERM" . PHP_EOL;
        Swoole\Event::exit();
    });
Swoole\Event::wait();

For Developers

Branches

  • master: Main branch.
  • 0.5.x: The last branch which still supports PHP 5.x.

Resources

About

A PHP extension for interfacing with Apache ZooKeeper

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 55.4%
  • PHP 33.7%
  • Shell 4.1%
  • Dockerfile 3.2%
  • M4 2.8%
  • HTML 0.5%
  • Makefile 0.3%