libzookeeper php扩展模块的安装

本文以php程序为例,讲解安装kafkas的PHP客户端模块

本文环境web server+php+zookeeper已搭建好,环境的安装配置本文不做阐述。

php路径为:/alidata/server/php

zookeeper路径为:/usr/zookeeper/zookeeper

系统环境

软件平台 版本号 备注说明
CentOS 6.5 2.6.32-431.el6.x86_64 无
nginx nginx-1.10.3 源码编译
php 5.5.38(stable) 源码编译
zookeeper 3.4.9(stable) http://apache.org/dist/zookeeper/
zookeeper扩展 0.2.3 http://pecl.php.net/package/zookeeper
详细部署过程

1、PHP的zookeeper扩展,依赖zookeeper C 库和头,需要进行编译安装。
[root@neoapi ~]# cd /usr/zookeeper/zookeeper
[root@neoapi ~]# ./configure --prefix=/usr/zookeeper/zookeeper/zookeeperlib/
[root@neoapi ~]# make && make install
[root@neoapi ~]# echo "/usr/zookeeper/zookeeper/zookeeperlib" >> /etc/ld.so.conf
[root@neoapi ~]# ldconfig
2、编译安装zookeeper扩展
[root@neoapi ~]# wget -q http://pecl.php.net/get/zookeeper-0.2.3.tgz
[root@neoapi ~]# tar xf zookeeper-0.2.3.tgz
[root@neoapi ~]# cd zookeeper-0.2.3
[root@neoapi ~]# /alidata/server/php/bin/phpize

phpize是用来安装php扩展模块的,通过phpize可以建立php的外挂模块,若你想在原来编译好的php中加入memcache或者ImageMagick等扩展模块,就需要使用phpize

[root@neoapi ~]# ./configure --with-libzookeeper-dir=/usr/zookeeper/zookeeper/zookeeperlib/
[root@neoapi ~]# make && make install

安装完成后显示扩展模块的路径Installing shared extensions: /alidata/server/php/lib/php/extensions/no-debug-non-zts-20121212/

[root@neoapi ~]# ll /alidata/server/php/lib/php/extensions/no-debug-non-zts-20121212/
-rwxr-xr-x. 1 root root 159902 Mar 11 09:03 zookeeper.so
3、编辑配置文件,整合php + kafka.so
[root@neoapi ~]# vim php.ini #把下面一行加入到底部,这里的路径,就是上面显示的路径

[libzookeeper]
extension = /alidata/server/php/lib/php/extensions/no-debug-non-zts-20121212/zookeeper.so
4、安装完成后需要重启web server和fastcgi
apache平滑重启

apache/bin/apachectl graceful
nginx平滑重启

nginx/sbin/nginx -s reload
pkill php-fpm
php/sbin/php-fpm
php-fpm平滑重启

kill -USR2 cat /alidata/server/php/var/run/php-fpm.pid
启动不报错,那就说明整合成功了!
5 也可以通过访问phpinfo.php看是否存在zookeeper模块

posted @ 2017-03-11 09:42  逆流的致爷  阅读(366)  评论(0编辑  收藏  举报