溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

如何安裝php中zookeeper擴(kuò)展

發(fā)布時(shí)間:2021-09-28 09:36:47 來(lái)源:億速云 閱讀:142 作者:小新 欄目:編程語(yǔ)言

這篇文章給大家分享的是有關(guān)如何安裝php中zookeeper擴(kuò)展的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。

安裝方法:1、安裝并啟動(dòng)zookeeper服務(wù)器;2、下載zookeeper擴(kuò)展,并解壓到PHP安裝目錄的ext目錄下;3、在php安裝目錄下,執(zhí)行命令生成configure和makefile;4、使用make命令編譯安裝即可。

本教程操作環(huán)境:centos6.4系統(tǒng)、PHP5.5.10版,DELL G3電腦

ZooKeeper是一個(gè)分布式的,開(kāi)放源碼的分布式應(yīng)用程序協(xié)調(diào)服務(wù),是Google的Chubby一個(gè)開(kāi)源的實(shí)現(xiàn),是Hadoop和Hbase的重要組件。它是一個(gè)為分布式應(yīng)用提供一致性服務(wù)的軟件,提供的功能包括:配置維護(hù)、域名服務(wù)、分布式同步、組服務(wù)等。

ZooKeeper的目標(biāo)就是封裝好復(fù)雜易出錯(cuò)的關(guān)鍵服務(wù),將簡(jiǎn)單易用的接口和性能高效、功能穩(wěn)定的系統(tǒng)提供給用戶(hù)。

要在php中使用zookeeper,先要安裝php zookeeper擴(kuò)展,要安裝php zookeeper擴(kuò)展,得先安裝zookeeper

安裝php zookeeper擴(kuò)展的方法

環(huán)境:

centos : 6.4

zookeeper : 3.4.5

php : 5.5.10

nginx : 1.5

php zookeeper擴(kuò)展 :0.2.2

如果沒(méi)有安裝nginx,先安裝nginx;確保先把nginx配置好,再往下

如果沒(méi)有安裝php,先安裝php(先把nginx的php支持配置好了之后,再去安裝zookeeper的擴(kuò)展)

安裝zookeeper

下載

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

解壓(隨便你放在哪個(gè)目錄,記得就行)

tar zxfv zookeeper-3.4.5.tar.gz

啟動(dòng)zookeeper服務(wù)器

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

這里最好確認(rèn)一下是否期待成功,./zkServer.sh status

我這里是單臺(tái),所以結(jié)果為:

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

編譯zookeeper庫(kù),給php用的

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

安裝php的zookeeper擴(kuò)展

下載

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

解壓(解壓出來(lái)的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是否已經(jīng)支持了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.

如果顯示如上,說(shuō)明已經(jīng)支持了,繼續(xù)往下

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庫(kù)的路徑

編譯安裝

make && make install

結(jié)果為,這個(gè)結(jié)果接下來(lái)的配置要用到

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

進(jìn)入Php的源碼文件夾,不要進(jìn)錯(cuò)了。我的源碼文件夾是/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是否已經(jīng)支持了zookeeper

如果已經(jīng)支持了,繼續(xù)往下

./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

到這里,已經(jīng)安裝好支持了,來(lái)測(cè)試下是否正常

在zookeeper-0.2.2.tgz中(也就是Php的zookeeper擴(kuò)展),有examples/Zookeeper_Example.php文件,可以用來(lái)測(cè)試

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

看是否能打印出如下結(jié)果

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

現(xiàn)在就可以通過(guò)瀏覽器訪問(wèn)支持zookeeper擴(kuò)展的php了

如果還有別的問(wèn)題,請(qǐng)檢查:

1、iptables

2、selinux

感謝各位的閱讀!關(guān)于“如何安裝php中zookeeper擴(kuò)展”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

php
AI