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,如果能访问成功,说明安装并配置成功了.