LoginSignup
4
5

More than 5 years have passed since last update.

HipHopVM(HHVM)のPHP7モード

Last updated at Posted at 2016-03-16

HHVMは3.11のリリースから、PHP7モードを備えるようになったそうな。

PHP 7 Support « HHVM

試してみるぞ。

PHP7モード設定

設定項目の案内はこちら。

Configuration: INI Settings #php-7-settings

とりあえず有効にしてみるなら、hhvm.php7.all = 1 で良いっしょ。

WordPressとAmazon Linuxで試してみる

HHVMは毎度自分でビルドして、AmazonLinux用のRPMを作っている。 ビルドの内訳はこちら。 => OpsRockin/hhvm-for-amazon-linux

これをインストール済AMIがあるので、起動する。

WordPress Powered by AMIMOTO (HHVM)

      ___         _            __
     / _ | __ _  (_)_ _  ___  / /____
    / __ |/  ' \/ /  ' \/ _ \/ __/ _ \
   /_/ |_/_/_/_/_/_/_/_/\___/\__/\___/

https://aws.amazon.com/amazon-linux-ami/2015.09-release-notes/

 Nginx 1.9.12, HHVM 3.12.1, Percona MySQL 5.6.29, WP-CLI 0.22.0

 amimoto     http://www.amimoto-ami.com/
 digitalcube https://en.digitalcube.jp/

うむ、3.12.1が入ってる。PHP7モードを有効にするため、/etc/hhvm/server.iniを編集。

/etc/hhvm/server.ini
...

hhvm.php7.all = true

...

コンパイルされたバイナリを消しつつ、リスタートしよう。

$ sudo service hhvm stop
$ sudo rm -f /tmp/.hhvm.hhbc 
$ sudo service hhvm start

このあとシステムの情報をチェックすれば、PHPバージョンが7.0.99-hhvmになっている。

## Server Environment ##

Server Info:              nginx/1.9.12
Host:                     DBH: localhost, SRV: _
Default Timezone:         UTC
MySQL Version:            5.6.29-76.2-log

-- PHP Configuration

PHP Version:              7.0.99-hhvm
PHP Post Max Size:        
PHP Time Limit:           0
PHP Max Input Vars:       
PHP Safe Mode:            No
PHP Memory Limit:         256M
PHP Upload Max Size:      
PHP Upload Max Filesize:  
PHP Arg Separator:        &
PHP Allow URL File Open:  Yes

WordPress的に注意するとこ

基本的には動くんだけど、気になる点があったのでメモ。

  • /var/log/hhvm/error.log に、わんさかと型のWarningがでる。
    • ちょっと厳密にチェックするようにしたせいかしらね。
    • ex: Warning: version_compare() expects parameter 1 to be string,
    • ex: Warning: setcookie() expects parameter 5 to be string,
  • 管理画面から新規プラグインが探せない(w
    • 多分PHPバージョンが7.0.99-hhvmを返すからかな?下記画像のように止まる。

Add_Plugins_‹_HHVM_mode_php7_—_WordPress.jpg

このあたりはそのうち調整されそう。

4
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
5