32位Ubuntu编译hiphop全攻略

  hiphop是facebook的一个开源项目。 目的是将php编译成更高效的c++代码在服务器上运行以达到增快速度的目的。据说能做到10~20倍的提升。
  Hiphop的项目地址在:https://github.com/facebook/hiphop-php。官方hiphop只有64位版本,所以该网站所有信息都是以64位机器为基础。幸好有位买不起64cpu的哥们在:https://github.com/metagoto/hiphop-php 提供了32位版本,不过这哥们显然没把这当回事,放上去后就只顾着更新代码,咋编译还是照抄官方的。为了能够让更多的人在32位机器上运行hiphop,下面将近期编译hiphop的过程给大家做个简单介绍。
  本机编译环境:32位Ubuntu10.1.4。
  依赖包: cmake 2.6 is the minimum version g++/gcc 4.3 is the minimum version Boost 1.37 is the minimum version flex bison re2c libmysql libxml2 libmcrypt libicu 4.2 is the minimum version openssl binutils libcap gd zlib tbb Intel's Thread Building Blocks Oniguruma libpcre libexpat libmemcached ubuntu可以用下面的命令加载以上包, sudo apt-get install git-core cmake g++ libboost-dev flex bison re2c libmysqlclient-dev libxml2-dev libmcrypt-dev libicu-dev openssl binutils-dev libcap-dev libgd2-xpm-dev zlib1g-dev libtbb-dev libonig-dev libpcre3-dev autoconf libtool libcurl4-openssl-dev libboost-system-dev libboost-program-options-dev libboost-filesystem-dev wget libmemcached-dev 在编译过程中遇到缺少其它包的情况,也可以用:sudo apt-get install 来安装。
  在默认路径"/home/user"(这里的user指的是你linux的用户目录) git clone git://github.com/metagoto/hiphop-php.git cd hiphop-php export CMAKE_PREFIX_PATH=/home/user/ //user同上面说明 export HPHP_HOME=`/bin/pwd` export HPHP_LIB=`/bin/pwd`/bin git submodule init git submodule update 执行最后一步命令的时候,或许会出现一个错误: fatal: reference is not a tree: 208b1a075c2448e1fc0c61d4bb268b161a3d992a Unable to checkout '208b1a075c2448e1fc0c61d4bb268b161a3d992a' in submodule path 'src/third_party/libmbfl' 在google中输入:208b1a075c2448e1fc0c61d4bb268b161a3d992a 查询,就会发现这个错误时因为包libmbfl已经改名为libmbf-old,而上面的代码中还没来得及做相应的修改,解决方法是将libmbf-old源代码下载到:src/third_party/libmbfl中。继续。 cd .. hiphop配置已到一段落,下面需要做的是安装2个第三方库:libevent和libCurl。
  这2个包为什么需要独立出来,而不是一开始就安装呢?从下面的安装过程中你就能得到答案:
  libevent包 wget http://www.monkey.org/~provos/libevent-1.4.13-stab le.tar.gz tar -xzvf libevent-1.4.13-stable.tar.gz cd libevent-1.4.13-stable cp ../hiphop-php/src/third_party/libevent.fb-changes. diff . patch -p0 /home/user/hiphop-php/src/hphp/hphp test.php --keep-tempdir=1 --log=3 如果log没有错误的话,说明已经把php转化成了c++程序,这时候在tmp目录下会生成一个hphp打头的文件夹,里面有一个program文件,执行就会在控制台输出:hello world.
  就本机而言,经过上面的步骤已成功安装hiphop,各位读者请根据自己环境做出相应调整,希望大家在观看本文后能一次成功。

你可能感兴趣的:(技术杂绘)