HIPHOP 安装过程

官方安装

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 hiphop
cd 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 唉
有什么问题可以留言讨论下。睡觉去。。。

 

 


 

你可能感兴趣的:(PHP,Web,centos)