hhvmのバージョンを3.12.1 -> 3.13にアップグレードしたのですが、稼働しているシステムとの兼ね合いが悪くサイトが落ちる問題が発生したので3.13からの3.12LTSにダウングレードしました。
っということで、hhvmのバージョンを固定する方法の紹介です。
使っているサーバーOSがUbuntuなので、Ubuntu14.04での説明です。
一般的にHHVMを導入するには下記のようにコマンドライン上からの操作になります。
# apt-keyの追加
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0x5a16e7281be7a449
# hhvmのrepositoryの追加
sudo add-apt-repository "deb http://dl.hhvm.com/ubuntu $(lsb_release -sc) main"
# パッケージのアップグレード
sudo apt-get update
# hhvmのインストール
sudo apt-get install hhvm
上の様にするとhhvmがインストールされますが、hhvmの最新の安定版(stable)がインストールされてしまい、新たなバージョンがリリースされるとアップグレードされることになります。
( * 執筆時の最新バージョンは3.13 )
ということで、hhvmのバージョンをLTS (長期サポートバージョン)の3.12系に指定してみましょう。
バージョンの指定には" /etc/apt/source.list "のファイルを編集する必要があります。
上に記載した通りにパッケージからインストールするとsource.listが下記のようになっています。
#/etc/apt/sources.list
# viでファイルをオープン
sudo vi /etc/apt/sources.list
# 最新の安定版の場合
deb http://dl.hhvm.com/ubuntu trusty main
ここでバージョンを指定するために下記の様に変更します。
# バージョンを3.12LTSに指定
deb http://dl.hhvm.com/ubuntu trusty-lts-3.12 main
編集を終えるとパッケージ全体をアップデートし、インストールするとhhvmのLTSがインストールされます。
( 筆者の環境では既にhhvmがインストールされてたので念のため"apt-get remove hhvm"でアンインストールしました )
# aptのパッケージをアップデート
sudo apt-get update
# hhvmをインストール
sudo apt-get install hhvm
# hhvmのバージョンを確認
$ php -v
HipHop VM 3.12.1 (rel)
Compiler: tags/HHVM-3.12.1-0-gf516f1bb9046218f89885a220354c19dda6d8f4d
Repo schema: f2e5f39b2ad4a08bcbd90b5d8bcb580f40fba6c8
brookstreetmaster@tk2-217-18082:~$
上記の様にバージョンを指定しておくと、アップデートする際も最新のLTSのバージョンでアップデートされることになります。
( 例: 3.12.1 -> 3.12.2 )
以上でバージョン指定の説明は終わりです。
本番環境などで安定したバージョンに固定したい時に必要になる作業なので、ゼヒゼヒ参考にしてください。
HHVM | Installation: Linux