おれんじりりぃぶろぐ

きっと何者にもなれないエンジニアのブログ

HHVMを使ってみた

HHVMをインストール、実行してみた時の備忘録。

HHVM(Hip Hop Virtual Machine)とは(?_?)

ヒップホップとか名前からしてふざけている気がするけど、HHVMはFacebookが開発を行っているプロジェクト。レガシーPHPコードをHHBC(Hip Hop Byte Code)に変換してVM(仮想マシン)上で実行して爆速化しようぜということ。たぶん。

HHVMインストール

今回はubuntu14.04にインストールを行った。

レポジトリを追加してインストールする。

sudo apt-get install software-properties-common
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0x5a16e7281be7a449
sudo add-apt-repository 'deb http://dl.hhvm.com/ubuntu trusty main'
sudo apt-get update
sudo apt-get install hhvm

nginxをインストール

apache2でもできるみたいだけどFastCGIが標準でついていなくて面倒臭そうなので、チュートリアルに従ってnginxをインストールする。

sudo apt-get install nginx

f:id:orange_lily27:20150520115357p:plain
ローカルホストにアクセスして以上のように表示されれば成功。

nginxの設定

以下のシェルスクリプトを実行するといい感じにnginxとhhvmが関連付けられるみたい。

sudo /usr/share/hhvm/install_fastcgi.sh

HHVMの設定

nginxのドキュメントルート/usr/share/nginx/htmlに、中身もファイル名も空の.hhconfigファイルを作成する。

sudo touch .hhconfig

.hhconfigを作成したディレクトリで、hh_clientを実行する。

hh_client

nginxとhhvmを再起動させる。(インストールが完了した時点で勝手に起動している)

sudo service nginx restart
sudo service hhvm restart

そして以下のようなHackファイルを作成する。

info.php または info.hh

<?hh
echo phpinfo();

ローカルホストにアクセス。

f:id:orange_lily27:20150520140821p:plain

上記のように表示されれば成功。HHVMではphpinfo()を出力させるとHipHopと表示されるだけ。
ベンチマーク取る実験はまた今度。

Hack言語

ちなみに先ほど作成したファイルのHackとはHHVM上で実行できる言語。と言っても基本的にはPHPコードの冒頭を<?php<?hhに変更するだけでよい。但し、完全に互換性を持っているわけではない。HTML中に埋め込むことも出来ない。ファイル拡張子は.phpまたは.hh

参考