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
ローカルホストにアクセスして以上のように表示されれば成功。
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();
ローカルホストにアクセス。
上記のように表示されれば成功。HHVMではphpinfo()を出力させるとHipHopと表示されるだけ。
ベンチマーク取る実験はまた今度。
Hack言語
ちなみに先ほど作成したファイルのHackとはHHVM上で実行できる言語。と言っても基本的にはPHPコードの冒頭を<?php
を<?hh
に変更するだけでよい。但し、完全に互換性を持っているわけではない。HTML中に埋め込むことも出来ない。ファイル拡張子は.php
または.hh
。