介绍

本文将介绍在 Digital Ocean VPS 上的 Ubuntu 13.10 上安装 HHVM 所需的步骤。本文还将说明如何通过创建来使用 HHVM:

  1. PHP 中的命令行“Hello World”脚本

  2. 一个基于 Web 的“Hello World”脚本,用 PHP 编写并由 HHVM 服务器提供服务

先决条件

本教程的唯一先决条件是安装了 Ubuntu 13.10 x64 的 VPS。请注意,HHVM 不支持任何 32 位操作系统,并且他们没有计划添加对 32 位操作系统的支持。

您将需要从命令行执行命令,您可以通过以下两种方式之一执行:

1.使用SSH访问Droplet。

  1. 使用 Digital Ocean Droplet 管理面板中的“控制台访问”

什么是 HHVM?

HipHop Virtual Machine (HHVM) 是由 Facebook 开发并开源的虚拟机,用于处理和执行用 PHP 编写的程序和脚本。 Facebook 开发 HHVM 是因为常规的 Zend+Apache 组合在为 PHP 构建的大型应用程序提供服务时效率不高。

根据他们的网站,与 Zend PHP 引擎 + APC(这是目前的托管方式大部分 PHP 应用程序)。

安装 HHVM

安装 HHVM 非常简单,不会超过几分钟。从命令行执行以下 4 个命令将安装并准备好 HHVM:

wget -O - http://dl.hhvm.com/conf/hhvm.gpg.key | apt键添加 -
echo deb http://dl.hhvm.com/ubuntu saucy main |三通 /etc/apt/sources.list.d/hhvm.list
apt-get 更新
apt-get 安装 hhvm

要确认 HHVM 已安装,请键入以下命令:

hhvm --帮助

这将显示如何从命令行使用 hhvm 命令的详细信息。这是一个示例屏幕截图,说明了这一点:

hhvm --help截图

使用 HHVM 从命令行在 PHP 中测试“Hello World”脚本

在命令行中键入以下命令:

猫 > hello_world.php

这将创建一个名为 hello_world.php 的文件,并允许您输入其内容。输入(或复制并粘贴)以下代码,然后按“Ctrl + D”保存文件。

<?php

echo "\n你好世界\n\n";

注意: 如果您熟悉 nanovim 等编辑器,可以使用它们来创建和保存此文件。

创建此文件后,可以使用以下命令使用 hhvm 执行它:

hhvm hello_world.php

下面是一个截图来说明这个 Hello World 脚本的创建和执行:

命令行Hello World

使用 HHVM 服务器在 PHP 中测试“Hello World”脚本(可从浏览器访问)

首先创建一个目录 (public) 作为公共文件夹并包含 PHP 文件。 请注意,您可以将此目录命名为任何名称并将其放置在任何位置。执行以下命令创建该目录并进入:

mkdir 公共
光盘公开

现在在命令行中输入以下命令:

猫>你好.php

这将在 public 目录中创建一个名为 hello.php 的文件,并允许您输入其内容。输入(或复制并粘贴)以下代码,然后按“Ctrl + D”保存文件。

<?php

echo '<h1>Hello World</h1>';

注意: 如果您熟悉 nanovim 等编辑器,可以使用它们来创建和保存此文件。

创建此文件后,可以从命令行使用“hhvm”以下列方式启动服务器:

hhvm -m 服务器

下面是一个截图来说明这个 Hello World 脚本的创建和执行:

基于Web的Hello World命令

此命令将启动服务器(在端口 80 上),现在可以从浏览器访问 hello.php 文件。如果 Droplet 的 IP 地址为 128.199.212.7,则可以在以下位置访问这个新创建的文件:

http://128.199.212.7/hello.php

注意: 128.199.212.7替换为您的Droplet使用的IP地址或域名。

访问此 URL 应显示类似于以下屏幕截图中的网页:

基于Web的Hello World截图

将您的 PHP 应用程序移植到 HHVM

为了在端口 80(网站的标准端口)上使用 HHVM 而不是 Zend/Apache 开始为 PHP 应用程序提供服务,需要停止 Apache 服务。这可以使用以下命令完成:

服务 apache2 停止

此命令将停止 Apache 并释放端口 80 供 HHVM 使用。下一步是在您的 PHP 应用程序的根目录中启动 HHVM 服务器**。这个根目录在 Ubuntu 上最常见的位置是 /var/www

使用以下命令切换到该目录:

光盘 /var/www

进入此目录后,您需要做的就是启动 HHVM 服务器:

hhvm -m 服务器

此命令将启动 HHVM 服务器,它将开始从当前目录为您的 PHP 应用程序提供服务。

在 FastCGI 模式下使用 HHVM

从 3.0 版本开始,HHVM 不能再在服务器模式下使用。本节将帮助您在 FastCGI 模式下使用 Apache 和 Nginx 服务器配置 HHVM。

使用阿帕奇

将 HHVM 配置为使用 Apache 在 FastCGI 模式下工作非常简单。您需要做的就是执行以下脚本:

/usr/share/hhvm/install_fastcgi.sh

运行此脚本会将 Apache 配置为开始使用 HHVM 来处理 PHP 代码。它还将重新启动 Apache 服务器,因此您无需执行任何其他操作。

使用 Nginx

如果您将 Nginx 与 PHP-FPM 一起使用,则必须修改配置文件以禁用 PHP-FPM。该文件通常位于/etc/nginx/sites-available/default

查找以下部分并确保它全部被注释(通过在每行的开头添加一个#)

# 将 PHP 脚本传递给在 127.0.0.1:9000 上监听的 FastCGI 服务器
#
#location ~ \.php$ {
# fastcgi_split_path_info ^(.+\.php)(/.+)$;
# # 注意:你应该有“cgi.fix_pathinfo u003d 0;”在 php.ini 中
#
# # 单独使用 php5-cgi:
# fastcgi_pass 127.0.0.1:9000;
## 使用 php5-fpm:
# fastcgi_pass unix:/var/run/php5-fpm.sock;
# fastcgi_index index.php;
# 包括 fastcgi_params;
#}

完成此操作后,执行以下脚本:

/usr/share/hhvm/install_fastcgi.sh

执行此脚本将 Nginx 配置为开始使用 HHVM 来处理 PHP 代码。它还会重新启动 Nginx 服务器,因此您无需执行任何其他操作。

确认 Apache/Nginx 正在使用 HHVM

将服务器配置为开始使用 HHVM 后,最好确认服务器(Apache 或 Nginx)确实在使用 HHVM 来处理 PHP。

你可以通过创建一个测试 PHP 文件来做到这一点,比如说 info.php 并将它放在你服务器的公共文件夹中(对于 Apache 通常是 /var/www/usr/share/nginx/html 对于Nginx)。现在将以下内容放入此文件中:

<?php

echo defined('HHVM_VERSION')?'Using HHVM':'Not using HHVM';

现在,如果一切设置正常,当您在浏览器中访问此文件时,您应该会看到以下消息:

使用 HHVM

重要的提示

HHVM 集成了很多常用的 PHP 扩展,可以轻松移植大量应用程序而无需大惊小怪。但是,如果应用程序使用尚未合并的 PHP 扩展,则选择 HHVM 将破坏应用程序。可以在 这里 找到已移植到 HHVM 的 PHP 扩展的完整列表

最后一句话

如果您已经达到了这一步,那么您现在已经准备好开始使用 HHVM 来为您的基于 PHP 的网站提供服务了。 HHVM 比常规 Zend PHP 引擎 + APC 组合的效率高出数倍,可以帮助您以更低的硬件要求为网站的更多访问者提供服务!

<div classu003d“author”>提交人:<a hrefu003d“http://javascript.asia”>Jay</a></div>

Logo

开发云社区提供前沿行业资讯和优质的学习知识,同时提供优质稳定、价格优惠的云主机、数据库、网络、云储存等云服务产品

更多推荐