2011-11-15 23 views
10

La mayoría de los desveladores saben algo sobre el Hiphop de Facebook para php, quiero usarlo en mis scripts pero no tengo idea de por dónde empezar.cómo instalar hiphop para php?

¿Debo hablar con mi proveedor de servidor? o ¿Debo agregar algunos códigos en mis scripts?

Respuesta

19

HipHop es muy difícil de instalar, pero afortunadamente para ti acabo de pasarlo.

Necesita un servidor dedicado, el más fácil de instalar en Red Hat o CentOS, o Amazon Linux. No puede instalarlo en un host compartido, necesita acceso a la raíz.

También es más fácil de instalar en un servidor limpio (solo el SO).

Te recomiendo que obtengas una Instancia limpia de Amazon Web Services y la instales en ella, puedes desactivarla cuando no la necesites. No es caro.

Esto instalará en una instancia AWS, ponerlo en SSH una línea a la vez:

<!-- 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 

Entonces, cada vez que se conecte a SSH, pega este:

<!-- 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 

Oh, Debo añadir que necesitará HipHop instalado en el servidor en el que desea ejecutar los scripts compilados. Entonces con todo esto considerado, probablemente no sea lo que quieres.

+0

Excelente Alasdair! –

+0

También el comando git probablemente tiene un error ... git clone git: //github.com/facebook/hiphop-php.git –

+0

Ah sí, eso fue debido a mi descubrimiento y reemplazo. Corregido ahora. – Alasdair

2

Si usa CentOS 5.4, es más fácil instalar todos los paquetes necesarios a través de yum. Tan solo hay que instalar primero los siguientes repositorios:

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 

Antes de instalar, MySQL desinstalación y php

Después de instalar los repositorios, puede instalar simplemente escribiendo:

yum install hiphop-php 
0

Este git repo le permite construir una máquina virtual basada en Debian/Ubuntu que tiene instalado HipHop/HHVM:

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

El Vagrantfile contiene una secuencia de comandos que se puede utilizar en una máquina virtual o un servidor. Sin embargo, es muy recomendable utilizar el Vagrant VM primero para ver si HipHop funcionará para usted.