我在IBMBluemix上有一个web应用程序。我想通过使用Facebook的HHVM预编译PHP来加快应用程序的速度。如何做到这一点?这在Bluemix上可能吗?
谢谢你,
--
是的,事实上确实如此。这需要做一些工作,但有了构建包,你基本上可以运行任何可执行文件。您只需要绑定到由环境变量$PORT
分配的端口。查看Cloud Foundry文档,了解如何实现一个。我也会在C构建包上达到顶峰。
二进制构建包可能是您最好的起点。
你可以使用HHVM编译你的代码,我从下面摘录了相关的部分。这需要在Ubuntu 14.04上完成,因为这就是Bluemix运行的平台。
安装deps:
sudo apt-get install autoconf automake binutils-dev build-essential cmake g++ gawk git
libboost-dev libboost-filesystem-dev libboost-program-options-dev libboost-regex-dev
libboost-system-dev libboost-thread-dev libboost-context-dev libbz2-dev libc-client-dev libldap2-dev
libc-client2007e-dev libcap-dev libcurl4-openssl-dev libdwarf-dev libelf-dev
libexpat-dev libgd2-xpm-dev libgoogle-glog-dev libgoogle-perftools-dev libicu-dev
libjemalloc-dev libmcrypt-dev libmemcached-dev libmysqlclient-dev libncurses-dev
libonig-dev libpcre3-dev libreadline-dev libtbb-dev libtool libxml2-dev zlib1g-dev
libevent-dev libmagickwand-dev libinotifytools0-dev libiconv-hook-dev libedit-dev
libiberty-dev libxslt1-dev ocaml-native-compilers libsqlite3-dev libyaml-dev libgmp3-dev
gperf libkrb5-dev libnotify-dev
下载HHVM源代码:
git clone git://github.com/facebook/hhvm.git --depth=1
cd hhvm
git submodule update --init --recursive
构建HHVM:
cmake -DMYSQL_UNIX_SOCK_ADDR=/var/run/mysqld/mysqld.sock .
make -j [number_of_processor_cores] # eg. make -j 4
sudo make install
安装的hhvm二进制文件可以在/usr/local/bin
中找到
使用内置的PHP构建包很容易做到这一点。只需在composer.json文件中指定对HHVM的依赖项,如下所示:
{
"require": {
"hhvm": ">=3.5"
}
}