Facebook项目hiphop安装及使用

Facebook项目hiphop安装及使用

按照官方的wiki安装方法,在Ubuntu 12.04下面安装。

https://github.com/facebook/hiphop-php/wiki/Building-and-Installing-on-Ubuntu-11.04

我在安装的时候遇到俩个问题:

1、安装libcurl的时候,“undefined reference to `SSLv2_client_method’”

解决办法在 https://github.com/bagder/curl/commit/26b487a5d6ed9da5bc8e4a134a88d3125884b852

在libcurl中的lib/ssluse.c文件中添加几行。

2、编译时,遇到的问题描述见:

https://github.com/facebook/hiphop-php/issues/470

解决办法就是下面的回复。

安装好后,使用方法见wiki:

https://github.com/facebook/hiphop-php/wiki/Running-HipHop

说明一下,在使用前需要设置几个环境变量:

export CMAKE_PREFIX_PATH=放hiphop的目录

export HPHP_HOME=hiphop目录

export HPHP_LIB=hiphop目录下面的bin目录

例如我的目录如图:

则设置:

export CMAKE_PREFIX_PATH=~/hiphop_dev
export HPHP_HOME=~/hiphop_dev/hiphop-php
export HPHP_LIB=~/hiphop_dev/hiphop-php/bin

我将我之前的一个php项目用hiphop生成了一下,具体命令如下:

export CMAKE_PREFIX_PATH=~/hiphop_dev
export HPHP_HOME=~/hiphop_dev/hiphop-php
export HPHP_LIB=~/hiphop_dev/hiphop-php/bin
cd ~/www/weborbit/
find -name '*.php' > files.list
$HPHP_HOME/src/hphp/hphp --input-list=files.list -k 1 --log=3 --force=1 --cluster-count=50

完成之后,运行server:

sudo /tmp/hphp_rEK5v0/program -m server -p 8080 -v "Server.SourceRoot=/home/chenming/www/weborbit" \
     -v "Server.DefaultDocument=index.php" -c $HPHP_HOME/bin/mime.hdf

之后访问:

http://127.0.0.1:8080/WebOrbit.html

测试了一下性能,如果用apache访问,则需要20几秒才能计算出来,换成hiphop后,只要不到2s。

apache访问原版本:

hiphop处理后的:

计算高度角,未优化要20多秒:

优化后不到2s: