您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關如何安裝php中zookeeper擴展的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
安裝方法: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中zookeeper擴展”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。