如题,系统架构升级引入消息机制,php 安装还是挺麻烦的,网上各种文章有的东拼西凑这里记录下来做个备忘,有需要的同学可以自行参考安装亲测可行
1 zookeeper扩展安装
1.安装zookeeper 我之前有一篇是写的zookeeper与kafka的安装,如果有问题的可以找出来看看
2.wget http://pecl.php.net/get/zookeeper-0.2.2.tgz
3.tar -zxvf zookeeper-0.2.2.tgz cd zookeeper-0.2.2
4./usr/local/php/bin/phpize
5../configure --with-php-config=/usr/local/php/bin/php-config --with-libzookeeper-dir=/var/zookeeper-3.3.6/
这里很可能会有错误 Can't find zookeeper headers under因为我是直接下载的包运行的,默认是没有这个lib的 需要自己编译安装,编译安装如下
1.cd /var/zookeeper-3.3.6//src/c
2../configure -prefix= /var/zookeeper-3.3.6
3.make & make install
编译完成之后会在zookeeper 下面多出一个lib文件
6.make &make install
安装完成之后最后会有提示成功,在extensions会多出这个zookeeper.so文件这个时候才代表安装扩展完成
2.kafka 扩展
这个扩展查了些资料以前有的东西已经没法安装成功了
选一个我安装成功的,有需要的可以自行安装
1.先安装一个lib库
1.wget https://github.com/edenhill/librdkafka/archive/master.zip
2.mv master.zip librdkafka-master.zip
3.unzip librdkafka-master.zip
4.cd librdkafka-master
5../configure
6.make &make install
2.安装扩展
1.git clone https://github.com/arnaud-lb/php-rdkafka.git
2.cd php-rdkafka
3./usr/local/php/bin/phpize
4../configure
5.make all -j 5
6.make &make install
安装完成之后在扩展文件夹里查看是否已经存在这两个so 文件
修改php.ini
添加如下:extension="/usr/local/php/lib/php/extensions/no-debug-zts-20151226/rdkafka.so"
extension="/usr/local/php/lib/php/extensions/no-debug-zts-20151226/zookeeper.so"
重启httpd 在phpinfo里就可以看到
简单例子:
1.php-kafka
$rk = new RdKafkaProducer(); $rk->addBrokers("127.0.0.1"); $topic = $rk->newTopic("Order"); $topic->produce(RD_KAFKA_PARTITION_UA, 0, "Message payload---------");
2.php-zookeeper:
$zookeeper=new ookeeper('127.0.0.1:2181'); $path="/trainFront/Service/OrderService"; if($zookeeper->exists($path)) { $value = $zookeeper->getChildren($path); var_dump($value); }