• 技术文章 >后端开发 >PHP问题

    怎么安装php zookeeper扩展

    青灯夜游青灯夜游2021-09-27 20:15:08原创162

    安装方法:1、安装并启动zookeeper服务器;2、下载zookeeper扩展,并解压到PHP安装目录的ext目录下;3、在php安装目录下,执行命令生成configure和makefile;4、使用make命令编译安装即可。

    本教程操作环境:centos6.4系统、PHP5.5.10版,DELL G3电脑

    ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

    ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。

    要在php中使用zookeeper,先要安装php zookeeper扩展,要安装php zookeeper扩展,得先安装zookeeper

    安装php zookeeper扩展的方法

    环境:

    centos : 6.4

    zookeeper : 3.4.5

    php : 5.5.10

    nginx : 1.5

    php zookeeper扩展 :0.2.2

    如果没有安装nginx,先安装nginx;确保先把nginx配置好,再往下

    如果没有安装php,先安装php(先把nginx的php支持配置好了之后,再去安装zookeeper的扩展)

    安装zookeeper

    下载

    wget http://mirrors.hust.edu.cn/apache/zookeeper/zookeeper-3.4.5/zookeeper-3.4.5.tar.gz

    解压(随便你放在哪个目录,记得就行)

    tar zxfv zookeeper-3.4.5.tar.gz

    启动zookeeper服务器

    cd zookeeper-3.4.5/conf
    cp zoo_sample.cfg zoo.cfg
    cd ../bin
    ./zkServer.sh start

    这里最好确认一下是否期待成功,./zkServer.sh status

    我这里是单台,所以结果为:

    [root@localhost bin]# ./zkServer.sh status
    JMX enabled by default
    Using config: /root/zookeeper-3.4.5/bin/../conf/zoo.cfg
    Mode: standalone

    编译zookeeper库,给php用的

    cd ../src/c
    ./configure --prefix=/usr/local/zookeeperlib
    make && make install

    安装php的zookeeper扩展

    下载

    wget http://pecl.php.net/get/zookeeper-0.2.2.tgz

    解压(解压出来的package.xml不用去管他)

    tar zxvf zookeeper-0.2.2.tgz

    把他放到/root/php-5.5.10/ext中

    mv zookeeper-0.2.2 /root/php-5.5.10/ext/
    cd /root/php-5.5.10/ext/

    改目录名字

    mv zookeeper-0.2.2 zookeeper

    回到php-5.5.10目录

    cd ..
    ./buildconf --force
    ./configure -h|grep zookeeper

    查看configure是否已经支持了zookeeper

    --enable-zookeeper               Enable zookeeper support
    --disable-zookeeper-session      Disable zookeeper session handler support
    --with-libzookeeper-dir=DIR   Set the path to libzookeeper install prefix.

    如果显示如上,说明已经支持了,继续往下

    cd ext/zookeeper

    生成configure

    /usr/local/php5.5.10/bin/phpize

    生成makefile

    ./configure --with-php-config=/usr/local/php5.5.10/bin/php-config  --with-libzookeeper-dir=/usr/local/zookeeperlib
    注意上面的路径:
    --with-php-config是php安装的路径
    --with-libzookeeper-dir是第一步中install zookeeper库的路径

    编译安装

    make && make install

    结果为,这个结果接下来的配置要用到

    Installing shared extensions:     /usr/local/php5.5.10/lib/php/extensions/no-debug-non-zts-20121212/

    添加ext路径和文件名

    vim /usr/local/php5.5.10/etc/php.ini
     
    extension_dir="/usr/local/php5.5.10/lib/php/extensions/no-debug-non-zts-20121212/"
    extension=zookeeper.so

    重新编译php

    进入Php的源码文件夹,不要进错了。我的源码文件夹是/root/php-5.5.10,安装目录是/usr/local/php5.5.10

    cd /root/php-5.5.10
    rm -rf autom4te.cache/ configure
    ./buildconf --force
    ./configure -h|grep zookeeper

    查看configure是否已经支持了zookeeper

    如果已经支持了,继续往下

    ./configure --prefix=/usr/local/php5.5.10 --with-config-file-path=/usr/local/php5.5.10/etc --with-bz2 --with-curl --enable-ftp --enable-sockets --disable-ipv6 --with-gd --with-jpeg-dir=/usr/local --with-png-dir=/usr/local --with-freetype-dir=/usr/local --enable-gd-native-ttf --with-iconv-dir=/usr/local --enable-mbstring --enable-calendar --with-gettext --with-libxml-dir=/usr/local --with-zlib --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-mysql=mysqlnd --enable-dom --enable-xml --enable-fpm --with-libdir=lib64 --enable-zookeeper --with-libzookeeper-dir=/usr/local/zookeeperlib --enable-sockets
     make && make install

    到这里,已经安装好支持了,来测试下是否正常

    在zookeeper-0.2.2.tgz中(也就是Php的zookeeper扩展),有examples/Zookeeper_Example.php文件,可以用来测试

    cp /root/php-5.5.10/ext/zookeeper/examples/Zookeeper_Example.php /usr/local/nginx/html/
    /usr/local/php5.5.10/bin/php /usr/local/nginx/html/Zookeeper_Example.php

    看是否能打印出如下结果

    string(0) ""
    array(1) {
      [0]=>
      string(9) "zookeeper"
    }
    NULL
    string(3) "abc"
    array(2) {
      [0]=>
      string(7) "test123"
      [1]=>
      string(9) "zookeeper"
    }
    NULL
    NULL
    array(2) {
      [0]=>
      string(3) "001"
      [1]=>
      string(3) "002"
    }

    重启php-fpm

    killall php-fpm
    /usr/local/php5.5.10/sbin/php-fpm

    现在就可以通过浏览器访问支持zookeeper扩展的php了

    如果还有别的问题,请检查:

    1、iptables

    2、selinux

    推荐学习:《PHP视频教程

    以上就是怎么安装php zookeeper扩展的详细内容,更多请关注php中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:php zookeeper扩展
    上一篇:php怎么将重复的字符替换成一个字符 下一篇:php如何将html转换成pdf
    大前端线上培训班

    相关文章推荐

    • php strstr()是不区分大小写的吗?• php怎么删除session_id• php5.2和5.3有什么区别• php中system()不返回输出怎么办• php导出excel出现500错误怎么办

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网