Facebook的hhvm的安装和使用

HHVM是Facebook推出的用来执行PHP代码的虚拟机,它是一个PHP的JIT(Just-In-Time)编译器,同时具有产生快速代码和即时编译的优点.

首先我们在centos7下安装好hhvm的环境

yum update -y

yum install -y epel-release

yum install cpp gcc-c++ cmake3 git psmisc {binutils,boost,jemalloc,numactl}-devel \
{ImageMagick,sqlite,tbb,bzip2,openldap,readline,elfutils-libelf,gmp,lz4,pcre}-devel \
lib{xslt,event,yaml,vpx,png,zip,icu,mcrypt,memcached,cap,dwarf}-devel \
{unixODBC,expat,mariadb}-devel lib{edit,curl,xml2,xslt}-devel \
glog-devel oniguruma-devel ocaml gperf enca libjpeg-turbo-devel openssl-devel \
mariadb mariadb-server {fastlz,double-conversion,re2}-devel make -y

yum install {fribidi,libc-client,glib2}-devel -y

git clone https://github.com/facebook/hhvm -b master  hhvm  --recursive

cd hhvm

cmake3 .

make -j$(($(nproc)+1))

./hphp/hhvm/hhvm --version

make install

hhvm --version

增加hhvm的配置文件

echo "date.timezone="America/New_York"" > /etc/hhvm/php.ini

/etc/hhvm/server.ini文件内容如下

pid = /var/run/hhvm/pid

hhvm.server.ip = 0.0.0.0
hhvm.server.port = 1215
hhvm.server.type = proxygen
hhvm.server.default_document = index.php
hhvm.server.source_root = /alidata/xtgxiso/hhvm
hhvm.server.thread_count = 2
hhvm.resource_limit.max_socket = 65536
hhvm.hack.lang.look_for_typechecker = 0

hhvm.jit = true
hhvm.jit_a_size = 67108864
hhvm.jit_a_stubs_size = 22554432
hhvm.jit_global_data_size = 22554432

;logging
hhvm.log.use_syslog = false
hhvm.log.use_log_file = true
hhvm.log.file = /var/log/hhvm/error.log
hhvm.log.level = Warning
hhvm.log.always_log_unhandled_exceptions = true
hhvm.log.runtime_error_reporting_level = 8191
hhvm.repo.central.path = /var/cache/hhvm/hhvm.hhbc

hhvm.php7.all = 1

通过以上命令,我们基本完成了hhvm的安装和配置,接下来我们将hhvm做成centos下的系统服务。

touch /usr/lib/systemd/system/hhvm.service

文件内容如下:

[Unit]
Description=HipHop Virtual Machine

[Service]
ExecStart=/usr/local/bin/hhvm -c /etc/hhvm/server.ini -c /etc/hhvm/php.ini --user hhvm --mode daemon

[Install]
WantedBy=multi-user.target

然后我们就可以通过如下命令来测试服务是否配置成功

systemctl status hhvm
systemctl stop hhvm
systemctl start hhvm
systemctl restart hhvm

最后我们服务启动后,在/alidata/xtgxiso/hhvm/新建个index.php文件来测试是否成功.

<?php
echo phpinfo();

测试访问地址是:http://127.0.0.1:1215/index.php,如果能访问成功,说明安装并配置成功了.

此条目发表在 好文推荐, 网站开发 分类目录,贴了 标签。将固定链接加入收藏夹。

评论功能已关闭。