PHP 添加 Zookeeper 扩展

环境:

Centos 7 + PHP 7.2

下载相应版本的扩展包

版本:zookeeper-0.7.2.tgz
wget http://pecl.php.net/get/zookeeper-0.7.2.tgz

http://pecl.php.net/package/zookeeper

扩展说明文档

http://libzookeeper.net/en/latest/installation.html

解压并安装

tar -zxvf zookeeper-0.7.2.tgz
cd zookeeper-0.7.2
phpize
./configure # Tips : 报错缺少zookeeper c client,如果没有安装在默认目录,要使用 --with-zookeeper-dir=[dir]来指定
make && make install

报错解决,下载的时候注意区分源码包与二进制包

版本:zookeeper-3.5.6.tar.gz

wget https://apache.org/dist/zookeeper/zookeeper-3.5.6/apache-zookeeper-3.5.6.tar.gz
zookeeper c client 库在其源码包中
3.4之前的版本是在/zookeeper源码目录/src/c 下
3.5.6版本的是在 /zookeeper源码目录/zookeeper-client/zookeeper-client-c
这C库需要自己编译安装
编译安装命令参考:
http://zookeeper.apache.org/doc/r3.5.6/zookeeperProgrammers.html#Building+Your+Own+C+Client
注意在编译时,三个依赖包要安装:
autoconf -V
automake -V
libtool --version
主要执行命令:
autoreconf -if # 生成 configure 文件
Tips: 可能产生问题: No package 'cppunit' found
安装: yum -y install cppunit cppunit-devel 两个依赖包
./configure
make && make install # 安装到默认目录,在PHP扩展安装时,就不用指定目录

通过以上文件解决PHP扩展提示缺少zookeeper C扩展的问题,重新编译安装解决

重新安装PHP扩展

install 目录:
/data/server/php/lib/php/extensions/no-debug-non-zts-20170718/

php --ini # 找出 php.ini 文件位置
vim /data/server/php/lib/php.ini
# 在配置文件中添加 zookeeper 扩展
extension=zookeeper.so
查看加载是否成功
php -m