2011-11-15 53 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是否会为您工作。