官方安装
https://github.com/facebook/hiphop-php/wiki/Building-and-installing
主要参考安装过程
http://php.webtutor.pl/en/2011/04/22/howto-install-hiphop-for-php-on-centos-5-x/
当前安装环境
[root@vm11 ~]# lsb_release -a
LSB Version: :core-4.0-amd64:core-4.0-ia32:core-4.0-noarch:graphics-4.0-amd64 :graphics-4.0-ia32:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-ia32:prin ting-4.0-noarch
Distributor ID: CentOS
Description: CentOS release 5.6 (Final)
Release: 5.6
Codename: Final
[root@vm11 ~]#
安装之前先把gcc 版本升级
可以参照 http://maikkk.iteye.com/admin/blogs/1112216
开始安装需要的软件
rpm -ivh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm yum -y install git cmake pcre-devel libmcrypt-devel mysql-devel gd-devel libxml2-devel libcap-devel binutils-devel flex bison expat-devel patch gcc44 gcc44-c++ gcc gcc-c++ bzip2 bzip2-devel memcached openldap openldap-devel readline-devel libc-client-devel pam-devel wget ncurses-devel
上面软件是安装过程中需要的,或许你机器已经安装过,假如后面编译时候遇到缺少其他库可以在上面查找
安装以下命令下载必要的软件安装
mkdir hiphopcd hiphop git clone git://github.com/facebook/hiphop-php.git使用git 下载hiphop源代码继续下载其他依赖的库
wget "http://downloads.sourceforge.net/project/re2c/re2c/0.13.5/re2c-0.13.5.tar.gz?use_mirror=cdnetworks-us-2" wget "http://www.threadingbuildingblocks.org/uploads/77/142/2.2/tbb22_20090809oss_src.tgz" wget http://curl.haxx.se/download/curl-7.20.0.tar.bz2 wget http://www.monkey.org/~provos/libevent-1.4.14-stable.tar.gz wget http://launchpad.net/libmemcached/1.0/0.48/+download/libmemcached-0.48.tar.gz wget http://download.icu-project.org/files/icu4c/4.6.1/icu4c-4_6_1-src.tgz wget http://www.geocities.jp/kosako3/oniguruma/archive/onig-5.9.2.tar.gz wget "http://downloads.sourceforge.net/project/boost/boost/1.46.1/boost_1_46_1.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fboost%2Ffiles%2Fboost%2F1.46.1%2F&use_mirror=ignum" wget http://php.webtutor.pl/wp-content/uploads/2011/04/libcclient2007-devel.tar.gz
下面解压文件 tar xvjf curl-7.20.0.tar.bz2 tar xvzf libevent-1.4.14-stable.tar.gz tar xvzf re2c-0.13.5.tar.gz tar xvzf tbb22_20090809oss_src.tgz tar xvzf libmemcached-0.48.tar.gz tar xvzf icu4c-4_6_1-src.tgz tar xvzf onig-5.9.2.tar.gz tar xvzf boost_1_46_1.tar.gz tar xvzf libcclient2007-devel.tar.gz
cd tbb22_20090809oss
gmake
cp -Rp include/tbb/ /usr/include/
cp /build/*_release/*.so /usr/lib/
cp /build/*_release/*.so.2 /usr/lib/
ldconfig
cd ..
cd re2c-0.13.5
./configure
make install
cd ..
cd libevent-1.4.14-stable
cp ../hiphop-php/src/third_party/libevent-1.4.14.fb-changes.diff .
patch < libevent-1.4.14.fb-changes.diff
./configure
make install
cd ..
cd curl-7.20.0
cp ../hiphop-php/src/third_party/libcurl.fb-changes.diff .
patch -p0 < libcurl.fb-changes.diff
./configure
make install
cd ..
cd libmemcached-0.48
./configure
make install
cd ..
cd icu/source
./configure
make install
cd ../..
cd onig-5.9.2
./configure
make install
cd ..
cd boost_1_46_1
./bootstrap.sh
./bjam --layout=system install
cd ..
cp -r imap local/include/
cp /usr/lib/libc-client.so.2007 local/lib/libc-client.so
以上安装其他依赖库。默认一般都在/usr/local/lib 或者 /usr/local/lib64
cd hiphop-php
git submodule init
git submodule update
export HPHP_HOME=`pwd`
export HPHP_LIB=`pwd`/bin
cmake .
make
经验之谈 如果在cmake.是编译之前的检查依赖库.
如果出现一些库或者文件找不到可以用yum 命令在线查找安装
或者locate 查找下对应文件是否安装到正确目录下面
有时候hiphop会查找到/usr/lib 或者/usr/lib64
但上面一些软件安装在/usr/local/lib 或者/usr/local/lib64
这么就需要建立快捷方式或者拷贝对应的库到/usr/lib 或者/usr/lib64 下面(使用cp,ln 指令)
在make 过程中某些库的版本不对缺少一些函数,可以用ldd查看下依赖然后找到对应文件拷贝到库目录下
还有make 时间比较长,最好能几个cpu一起工作(具体怎么设置要谷歌下)
在这个过程中花时间最多就是安装那些依赖库,断断续续花了不少时间,平时真是很少接触o(︶︿︶)o 唉
有什么问题可以留言讨论下。睡觉去。。。