发布应用 您好,如有软件收录需求,请将软件打包,并附上软件名称、软件介绍、软件相关截图、软件iocn、软著、营业执照(个人没有营业执照请提供对应的开发者身份证正反面以及手持身份证本人照片),发送至邮箱
business@bear20.com
用户反馈
HHVM(PHP代码虚拟机)

HHVM(PHP代码虚拟机)

正式版官方版
(3.27.1)

人工检测,安心下载

软件投诉

  • 大小

    31.63

    MB

  • 下载

    1

  • 语言

    简体中文

    CN

  • 系统

    >=7

    winall

  • 类别

    服务器工具

    finder

  • 更新日期

    2023-05-12

软件介绍/功能

  HHVM(PHP代码虚拟机)??HHVM是一款功能强大的PHP代码虚拟机,HHVM(PHP代码虚拟机)最新版主要是针对hack编程语言、PHP编辑语言的执行,而且使用PHP来对字节码进行快速的编译,并且可以将编译完成的字节码在虚拟机的环境里面运行,也支持对客制的机器码利用,比PHP 解释器快 60%,而使用内存减少 90%。

HHVM(PHP代码虚拟机)

软件特色

  它是一个 PHP 的 JIT(Just-In- Time) 编译器

  同时具有产生快速代码和即时编译的优点。

  HHVM 将替代 HPHPi,用于所有的 PHP 执行

  HHVM 在速度方面获得了显著改进

  比目前使用的 PHP 解释器快 60%,而使用内存减少 90%。

更新日志

  HHVM(PHP代码虚拟机) 最新版 v3.27.1

  1、支持数组常量。

  2、重译所有(实验性的)

  默认情况下,这个功能是禁用的,但是很有可能在下一个版本中启用这个功能。当请求的数量达到一定的阈值之后,将会对所有已有记录的代码进行重新编译优化组合。当个别函数调用达到分析阈值之后,重新编译转化所有代码也将会替代零星碎片化的编译过程。这个重新编译所有代码的过程,将会加速HHVM的预热过程,并且允许我们在优化过程(特别是内联优化过程中)做出更好地判断抉择。当然,你可以使用运行时配置项目hhvm.jit_retranslate_all_request,来开启“重新编译所有”,并设置请求的阈值。

  3、CLI服务器模式(实验性的)

  这将使您可以在您的服务器上,创建一个用于CLI脚本的服务器。这项功能是非常有用的,因为他可以在各个运行脚本之间,共享编译好的代码缓存。换句话说,就是:如果您已经运行了这个脚本,那么您再次运行时,就不需要等待从脚本导JIT的时间了。

  4、hackfmt(实验性的)

  这个工具,使用全功能/高保真的解析器,来重新格式化你的Hack语言代码。

  5、扩展API的版本号使用HHVM_VERSION_BRANCH这个变量,而不是一个一成不变的API版本号。

  6、为Fact Parse和Watchman扩展,添加了HHI头。

  7、性能改进。

  8、BUG修复。

使用方法

  HHvm建站环境安装前准备

  除了上面的三个,我们还需要添加一下 MariaDB 的源:vim /etc/yum.repos.d/MariaDB.repo ,然后在文件中加入如下内容:

  至此,要用的源都有了。顺便执行一下 yum clean all;yum makecache 。如果出现问题的话,将如下 hosts 加入到你的 VPS(这是我暂时反代的,如果反代失效了你就自己反代一个然后加 hosts):

HHVM(PHP代码虚拟机)

  安装Nginx、Mariadb、hhvm安装 nginx,执行命令:yum install nginx -y ,然后可以选择删除相应的文件目录:rm -rf /etc/nginx/conf.d/

  安装 mariadb ,执行命令:yum install MariaDB-server MariaDB-client MariaDB-devel -y

  在安装完毕后启动 mysql 并执行一下配置向导,命令如下:

HHVM(PHP代码虚拟机)

  第一个要求输入密码的直接按回车(因为默认安装密码为空),然后跟着向导走。如图(点击放大):

  安装 hhvm 所需要的依赖环境:

  安装完上面的杂碎,然后就正式开始安装 hhvm,命令:yum install hhvm -y

  如果出现“hhvm: error while loading shared libraries: liblcms2.so.2: cannot open shared object file: No such file or directory”错误,执行如下命令:

HHVM(PHP代码虚拟机)

  安装成功的话,下载 linuxeye 的启动文件替换原来的:

HHVM(PHP代码虚拟机)

  安装 memcached(可选,不过我建议如果是 WordPress 的话还是安装吧):yum install memcached -y

  配置并运行HHvm建站环境

  首先,设为开机启动是必须的:

HHVM(PHP代码虚拟机)

  给 hhvm 单独新建个配置,方便日后使用:vi /etc/nginx/hhvm.conf ,然后在里面加入如下内容:

  然后删掉原先的配置文件自己新建 hhvm 配置:

  在其中加入如下内容:

  然后编辑:vi /etc/hhvm/config.hdf ,加入如下内容:

HHVM(PHP代码虚拟机)

  新建站点配置: vi /etc/nginx/conf.d/xxxxx.conf ,加入如下配置:

  然后记得给自己生成个日志文件和相关的目录

  请把如上内容中的 “xxxxx” 改为你的域名,然后把网站文件放在 /home/wwwroot/xxxxx 下即可搭建网站(lnmp 用习惯了,目录习惯改不掉了)

  注意:如果你的站点是 wordpress,就把上面配置代码中的 include wordpress.conf 前的“#”号去掉,然后编辑:vi /etc/nginx/wordpress.conf ,加入如下内容:

  重启一下 nginx 看看可否启动: service nginx restart 。如果启动的时候说端口被占用了,就看看 netstat -anp | grep hhvm ,估计你得到的结果就 hhvm 占用了 80 端口。 执行命令: pkill hhvm

  然后再重新启动 nginx 就会显示 OK 了。最后晒个探针图(点击放大):

HHVM(PHP代码虚拟机)

  这样配置的阿里云,使用 hhvm 用探针做性能测试的话,如下图(点击放大):

  利用上文介绍的搭建hhvm 的方法,管理数据库之类的可以使用 phpmyadmin ,在线管理文件可以使用 kodexplorer ,如果是再次新建站点的时候就直接执行:

HHVM(PHP代码虚拟机)

  1.   在本站下载解压包

  2、服务器操作系统:Debian7 x64 ,搭建LNMH架构,安装HHVM并采用Fastcgi与Nginx结合。现在我将开始介绍如何快速安装HHVM并采用Fastcgi与Nginx相结合,以方便添加虚拟主机。

  3、我们这里选用的系统是debian,用debian有个好处添加完apt源以后可以快速安装HHVM。注意选择系统的时候一定要选择64位的系统不然无法安装。

  4、首先我们要先进行一些安装前的步骤: sudo apt-get update

HHVM(PHP代码虚拟机)

  5、接下来我们添加HHVM的apt源,并安装HHVM:

  wget https://dl.hhvm.com/conf/hhvm.gpg.key

  sudo apt-key add hhvm.gpg.key

  echo "deb https://dl.hhvm.com/debian wheezy main">> /etc/apt/sources.list

  sudo apt-get update

  sudo apt-get install -y hhvm

  6、如果是国内的主机请添加下面这个apt源,官方的apt源因为某些原因被Q了。

  wget https://dl.hiphop-php.com/conf/hhvm.gpg.key

  sudo apt-key add hhvm.gpg.key

  echo "deb https://dl.hiphop-php.com/debian wheezy main">> /etc/apt/sources.list

  sudo apt-get update

  sudo apt-get install -y hhvm

HHVM(PHP代码虚拟机)

  7、这个过程大概几分钟即可完成,会有Selecting Unpacking ,用时比较长

  8、看到以下界面说明HHVM安装成功。

HHVM(PHP代码虚拟机)

  二、安装Fastcgi方法1、接着我们运行这条命令安装Fastcgi ,执行以下命令:

  sudo /usr/share/hhvm/install_fastcgi.sh #安装Fastcgi

  sudo update-rc.d hhvm defaults #添加到开机启动

  sudo service hhvm restart #重启HHVM

  2、hhvm5接着我们查看一下端口开启没有:netstat –anp

HHVM(PHP代码虚拟机)

  3、OK~当我们完成上面步骤的时候已经安装完成了HHVM并开启了Fastcgi模式。

  三、安装Nginx搭建LNMH1、接下来将介绍安装Nginx并与HHVM相结合搭建LNMH架构,并添加虚拟主机。

  2、首先我们先安装好Nginx,我们这里选用的是LinuxEye博客推出的lnmp一键包。

  wget https://blog.linuxeye.com/lnmp.tar.gz

  #wget https://blog.linuxeye.com/lnmp-full.tar.gz # 包含源码(官方下载太慢)

  tar xzf lnmp.tar.gz

  cd lnmp

  #如果需要修改目录(安装、数据存储、Nginx日志),请修改options.conf文件

  ./install.sh

  3、我们只用安装Nginx和memcached即可,其他不用安装,Mysql数据库我们后面选择用apt安装。 (点击放大)

HHVM(PHP代码虚拟机)

  4、当我们安装完成了Nginx后,备份lnmp目录下的vhost.sh文件,然后手动修改vhost.sh让nginx添加虚拟机时自带Fastcgi。找到下面这段:(大约在314行)

  [ ! -d $web_install_dir/conf/vhost ] && mkdir $web_install_dir/conf/vhost

  cat > $web_install_dir/conf/vhost/$domain.conf << EOF

  server {

  listen 80;

  server_name $domain$moredomainame;

  $N_log

  index index.html index.htm index.jsp index.php;

  include $rewrite.conf;

  root $vhostdir;

  #error_page 404 /404.html;

  if ( $query_string ~* ".*[;'<>].*" ){

  return 404;

  }

  $anti_hotlinking

  `echo -e $ngx_pagespeed`

  location ~ .*.(php|php5)?$ {

  #fastcgi_pass remote_php_ip:9000;

  fastcgi_pass unix:/dev/shm/php-cgi.sock;

  fastcgi_index index.php;

  include fastcgi.conf;

  }

  ......

  5、把它修改成下面这样:

  [ ! -d $web_install_dir/conf/vhost ] && mkdir $web_install_dir/conf/vhost

  cat > $web_install_dir/conf/vhost/$domain.conf << EOF

  server {

  listen 80;

  server_name $domain$moredomainame;

  $N_log

  index index.html index.htm index.jsp index.php;

  include $rewrite.conf;

  root $vhostdir;

  #error_page 404 /404.html;

  if ( $query_string ~* ".*[;'<>].*" ){

  return 404;

  }

  $anti_hotlinking

  `echo -e $ngx_pagespeed`

  location ~ .*.(php|php5)?$ {

  fastcgi_pass 127.0.0.1:9000;

  #fastcgi_pass unix:/var/run/hhvm/hhvm.sock;

  fastcgi_index index.php;

  include fastcgi.conf;

  }

  ......

  6、这样当我们添加虚拟主机时候就自动开启了Fastcgi。

HHVM(PHP代码虚拟机)

  7、可能有人又会问了,为什么我用IP访问的时候无法直接访问IP目录下面的PHP文件和程序? 因为我们还没有修改默认的nginx.conf文件,接下来我们就要修改这个文件,让我们访问IP的时候可以直接访问PHP程序。

  8、执行:vi /usr/local/nginx/conf/nginx.conf,我们找到下面这段:

  ###################pureftpd AND phpmyadmin############################

  ......

  location ~ .*.(php|php5)?$ {

  #fastcgi_pass remote_php_ip:9000;

  fastcgi_pass unix:/dev/shm/php-cgi.sock;

  fastcgi_index index.php;

  include fastcgi.conf;

  }

  ......

  9、将它修改为下面这样:

  ###################pureftpd AND phpmyadmin############################

  ......

  location ~ .*.(php|php5)?$ {

  fastcgi_pass 127.0.0.1:9000;

  #fastcgi_pass unix:/dev/shm/php-cgi.sock;

  fastcgi_index index.php;

  include fastcgi.conf;

  }

  ......

HHVM(PHP代码虚拟机)

  10、接下来我们重启Nginx看看效果如何: service nginx restart

  11、如果出现当配置好后,打开探针出现502。请再安装一次hhvm并开启Fastcgi。

HHVM(PHP代码虚拟机)

  12、下面我们安装mysql数据库,很简单只要一条命令: apt-get install mysql-server,中间只要输入一次密码就可以了。

HHVM(PHP代码虚拟机)

  四、HHVM性能简单测试1、测试HHVM能够承受的压力,可以采用网站服务器压力Web性能测试:Apache Bench,Webbench,http_load安装使用的方法,有兴趣的朋友可以多个方面进行测试。

  2、这里只是简单地使用Webbench进行压力测试,先测试一下普通的LNMP所能够承受的压力,在10秒中内发送100个请求,VPS主机的负载压力达到了27。

HHVM(PHP代码虚拟机)

  3、同时网站访问直接挂掉。

HHVM(PHP代码虚拟机)

  4、在同样配置上的VPS上测试HHVM性能,在10秒中内发送100个请求。

HHVM(PHP代码虚拟机)

  5、VPS主机的负载压力在5以下。

HHVM(PHP代码虚拟机)

  6、继续向HHVM增加压力:20秒内发送100个请求。

HHVM(PHP代码虚拟机)

  7、VPS主机的负载压力在10左右。且网站可以正常访问。

HHVM(PHP代码虚拟机)

  五、HHVM安装与使用小结1、HHVM安装过程并不复杂,难点在于如何将HHVM与Fastcgi、Nginx等融合,HHVM运行成功后,可以清楚地在探针中看到HHVM运行信息。

HHVM(PHP代码虚拟机)

  2、再来看看HHVM在探针上的整数运算能力检测、浮点运算能力检测、数据I/O能力检测项目的测试,都是在0.00x级别。

HHVM(PHP代码虚拟机)


软件问答

      什么类型的注释?

      注释类型(例如,int类型允许explicit)to be added to class属性,方法和功能参数,方法和函数返回值,and other components of代码。

      For example,consider the following代码,written in regular PHP,without any类型:

HHVM(PHP代码虚拟机) 3.20 官方版

      产量

      这段代码的作者明确地打算将$a和$b作为int,因为代码使用算术运算来操作它们。但没有什么能真正做到这一点,以确保这是真的。

      想象一下,你正在测试这个代码,每次你看到它都是有效的,因为A的值总是一个int,并且总是大于0。你可能会认为这是一个无bug的代码,当情况可能不是这样的时候:如果B不是一个int,就会出现意想不到的行为,但是当$a=0时也会出现这种行为。

      哈克的类型注释机制有助于防止这些类型的运行时错误。所以现在你可以明确地告诉黑客你想要一个变量是什么类型:

      Type检查器现在完全知道程序员对BAR函数的意图:它必须总是取两个整数。Type检查器可以扫描所有代码,并在它执行单行之前知道是否满足该不变量。A$的值在运行时不重要,Type检查器确保B类型的类型是正确的。换句话说,HACK的类型检查器执行静态类型检查——HACK是静态类型的语言。

      静态类型语言在编译时进行类型检查,通常防止与类型相关的错误进入实时代码。

      动态类型的语言在运行时进行类型检查,这允许以更大的灵活性来牺牲类型错误。

      HAKE让您在静态时使用静态类型语言的强类型特征,但仍使您具有动态类型语言的灵活性。

历史版本

版本 属性 语言 系统版本 更新时间 操作
  • HHVM(PHP代码虚拟机)3.27.1 正式版 简体中文 win7或更高版本 2023-05-12

290

HHVM(PHP代码虚拟机)
精选评论
第三方账号登录
  • 微信账号登录
  • QQ账号登录
  • 微博认证登录
夸克浏览器 关闭 剩余5 广告
重播 ×