PHP运行神器——使用HHVM让你的服务器减半在编译后的代码上调试不方便,而且不是看到代码就得到的。所以hiphop经历了几个阶段:HPHPC=>HHPPI=>HHVMHPHPPC是静态编译,即把php转换成c++HPPHPI是一个过渡产物,类似于phpzend虚拟机,性能不如zendvirtualmachine,但可以运行查看效果;HHVM基于HPHPI,应用JIT技术,性能接近HPHPC。目前,Facebook计划逐步放弃HPHPC;性能方面,HPHPC和HHVM相比zend虚拟机+加速器(官方提供)节省CPU50%~300%时间,在我的实际应用中,CPU节省一般在100%~300%之间,越大的流量,越明显。目前官方最新的2.1版本仍然存在内存泄漏的问题。对redis的支持只提供了最基本的功能(我们需要用到redis,所以比较关注这个。其他的扩展可以查看官方支持列表:https://github.com/facebook/h。..)源码安装太麻烦了。如果想试试,建议yum,官方源码安装文档:https://github.com/facebook/h...参考官方安装方法,用官方yum源安装,修复libevent的博主支持的内存泄漏问题。Step1:设置yum源rpm-ivhwget-O/etc/yum.repos.d/hop5.repoyumcleanallStep2:安装基本环境包。..更多的。..rpm-ivhftp://rpmfind.net/linux/epel/beta/6/x86_64/libmcrypt-2.5.8-9.el6.x86_64.rpmrpm-ivhftp://rpmfind.net/linux/epel/beta/6/x86_64/libmcrypt-devel-2.5.8-9.el6.x86_64.rpmyuminstallgitsvncppmakeautoconfautomakelibtoolpatchmemcachedgcc-c++cmakewgetboost-develmysql-develpcre-develgd-devellibxml2-develexpat-devellibicu-develbzip2-develoniguruma-developenldap-develreadline-devellibc-client-devellibcap-develbinutils-develpam-develelfutils-libelf-develtbb-devellibdwarf-develdbus-cxx-devellibunwind-devel如果php-mssqllibtool准备好编译安装,安装以下包搭建好编译环境。编译安装不行就跳过yuminstall-yboost.x86_64boost-chrono.x86_64boost-date-time.x86_64boost-devel.x86_64boost-filesystem.x86_64boost-graph.x86_64boost-graph-mpich2。x86_64boost-graph-openmpi.x86_64boost-iostreams.x86_64boost-jam.x86_64boost-locale.x86_64boost-math.x86_64boost-mpich2.x86_64boost-mpich2-devel.x86_64boost-mpich2-python.x86_64boost-openmpi.x86_64升压操作enmpi-devel.x86_64boost-openmpi-python.x86_64boost-program-options.x86_64boost-python.x86_64boost-random.x86_64boost-regex.x86_64boost-serialization.x86_64boost-signals.x86_64boost-static.x86_64boost-system.x86_64boost-test.x86_64boost-thread.x86_64boost-timer.x86_64boost-wave.x86_64cpp.x86_64curl.x86_64gcc.x86_64gcc-c++.x86_64gcc-gfortran.x86_64gcc-objc.x86_64gcc-objc++.x86_64gcc-plugin-devel.x86_64glog.x86_64glog-devel.x86_64gmp.x86_64gmp-devel.x86_64gmp-static.x86_64golang.x86_64libcurl.x86_64libcurl-devel.x86_64libdwarf.x86_64lib64.x86_64libdwarf-static.x86_64libdwarf-tools.x86_64libevent.x86_64libevent-devel.x86_64libgcc.x86_64libgfortran.x86_64libgfortran-static.x86_64libgomp.x86_64libmemcached.x86_64libmemcached-devel.x86_64libmpc.x86_64libmpc-devel.x86_64libmudflap.x86_64libmudflap-devel.x86_64libmudflap-static.x86_64libobjc.x86_64libquadmath.x86_64libquadmath-devel.x86_64libquadmath-static.x86_64libstdc++.x86_64libstdc++-devel.x86_64libstdc++-static.x86_64libtool.x86_64libtool-ltdl.x86_64libtool-ltdl-devel.x86_64lxc.x86_64lxc-libs-libs-x86_4xlxc_6_latenlxcl.x8x86_64mpfr.x86_64mpfr-devel.x86_64nginx.x86_64tbb.x86_64tbb-devel.x86_64tbb-doc.x86_64如果这里安装golang包报错,可以选择不安装这个包。如果没有编译安装,直接执行yuminstallhiphop-phpStep3:解决HHVMforlibevent的内存泄漏问题git下libevent和hhvm的源码包,之所以需要hhvm的源码包,是为了进入libevent源码中hhvm提供的libevent补丁,使libevent可以支持hhvmgitclonegit://github.com/libevent/libevent.gitgitclonegit://github.com/facebook/hiphop-php.gitcdlibevent/gitcheckoutrelease-1.4.14b-stable补丁cat../hiphop-php/hphp/third_party/libevent-1.4.14.fb-changes.diff|patch-p1打补丁后,修改libevent的http.c文件。解决内存泄露的关键大概在2319行。步骤4。编译安装libevent./autogen.sh./configure--prefix=/usr/--libdir=/usr/lib64/#注意路径不要弄错,这里是覆盖rpm安装的libeventmake&&a议员;makeinstallok...安装完成后,运行php脚本,直接执行hhvmscript.php。hhvm会先把php编译成c++代码然后运行
