2011-11-15 50 views
10

大多數devepolers知道一些關於Facebook的Hiphop for php,我想在我的腳本中使用它,但不知道從哪裏開始。如何爲PHP安裝hiphop?

我應該與我的服務器提供商交談嗎?或者我需要在腳本中添加一些代碼?

回答

19

HipHop很難安裝,但幸運的是,我剛剛通過它!

您需要一個專用的服務器,最簡單的安裝在紅帽或CentOS或亞馬遜Linux上。您無法將其安裝在共享主機上,您需要root權限。

安裝在乾淨的服務器上(僅適用於操作系統)也更容易。

我建議你從亞馬遜網絡服務獲得一個乾淨的實例並安裝它,你可以在你不需要的時候關閉它。這並不昂貴。

這將在一個AWS實例安裝它,把它變成SSH一行在一個時間:

<!-- language: sh --> 
sudo su - 
export LDFLAGS="$LDFLAGS -lrt" 
export CMAKE_PREFIX_PATH=/home/ec2-user/hiphop/local 
export HPHP_HOME=/home/ec2-user/hiphop/hiphop-php 
export HPHP_LIB=/home/ec2-user/hiphop/hiphop-php/bin 
ldconfig 
yum -y install git cmake boost pcre-devel libicu-devel libmcrypt-devel oniguruma-devel mysql-devel gd-devel boost-devel libxml2-devel libcap-devel binutils-devel flex bison expat-devel patch gcc gcc-c++ bzip2 bzip2-devel memcached openldap openldap-devel readline-devel libc-client-devel pam-devel 
mkdir /home/ec2-user/hiphop 
cd /home/ec2-user/hiphop 
git clone git://github.com/facebook/hiphop-php.git 
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 
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 
export LDFLAGS="$LDFLAGS -lrt" 
export CMAKE_PREFIX_PATH=/home/ec2-user/hiphop/local 
cd /home/ec2-user/hiphop/tbb22_20090809oss 
gmake 
cp -Rp include/tbb/ /usr/include/ 
cp /home/ec2-user/hiphop/tbb22_20090809oss/build/*_release/*.so /usr/lib/ 
cp /home/ec2-user/hiphop/tbb22_20090809oss/build/*_release/*.so.2 /usr/lib/ 
ldconfig 
cd /home/ec2-user/hiphop/re2c-0.13.5 
./configure --prefix=/home/ec2-user/hiphop/local 
make install 
cd /home/ec2-user/hiphop/libevent-1.4.14-stable 
cp /home/ec2-user/hiphop/hiphop-php/src/third_party/libevent-1.4.14.fb-changes.diff . 
patch < libevent-1.4.14.fb-changes.diff 
./configure --prefix=/home/ec2-user/hiphop/local 
make install 
cd /home/ec2-user/hiphop/curl-7.20.0 
cp /home/ec2-user/hiphop/hiphop-php/src/third_party/libcurl.fb-changes.diff . 
patch -p1 < libcurl.fb-changes.diff 
./configure --prefix=/home/ec2-user/hiphop/local 
make install 
cd /home/ec2-user/hiphop/libmemcached-0.48 
./configure --prefix=/home/ec2-user/hiphop/local 
make install 
cd /home/ec2-user/hiphop/hiphop-php 
git submodule init 
git submodule update 
export HPHP_HOME=/home/ec2-user/hiphop/hiphop-php 
export HPHP_LIB=/home/ec2-user/hiphop/hiphop-php/bin 
cmake . 
make 
alias hphp=/home/ec2-user/hiphop/hiphop-php/src/hphp/hphp 

然後每次你登錄SSH的時候,粘貼:

<!-- language: sh --> 
sudo su - 
cd /home/ec2-user 
export LDFLAGS="$LDFLAGS -lrt" 
export CMAKE_PREFIX_PATH=/home/ec2-user/hiphop/local 
export HPHP_HOME=/home/ec2-user/hiphop/hiphop-php 
export HPHP_LIB=/home/ec2-user/hiphop/hiphop-php/bin 
ldconfig 
alias hphp=/home/ec2-user/hiphop/hiphop-php/src/hphp/hphp 

哦,我應該補充說,您需要在要運行編譯腳本的服務器上安裝HipHop。所有這些考慮,這可能不是你想要的。

+0

優秀的阿拉斯代爾! –

+0

也git命令可能有一個錯誤.. git克隆git://github.com/facebook/hiphop-php.git –

+0

啊,是的,這是由於我的查找和替換。現在修復。 – Alasdair

2

如果您使用CentOS 5.4,通過yum安裝所需的全部軟件包會更容易。 就必須先安裝以下回購:

HPHP:

rpm -ivh http://pkg.tag1consulting.com/hphp/x86_64/hphp-release-1.0-2.el5.noarch.rpm 

EPEL:

rpm -ivh http://epel.osuosl.org/5/x86_64/epel-release-5-4.noarch.rpm 

IUS:

rpm -ivh http://dl.iuscommunity.org/pub/ius/stable/Redhat/5/x86_64/ius-release-1.0-8.ius.el5.noarch.rpm 

之前安裝,卸載MySQL和PHP

安裝這些回購後,你可以通過簡單地鍵入安裝:

yum install hiphop-php 
0

這混帳回購協議允許您基於Debian/Ubuntu的已安裝的HipHop/HHVM建立一個VM:

https://github.com/javer/hhvm-vagrant-vm

的Vagrantfile包含一個腳本,您可以在虛擬機或服務器使用。不過,強烈建議您首先使用Vagrant VM來查看HipHop是否會爲您工作。