Help us understand the problem. What is going on with this article?

PHP7 ( phpng ) をインストールして爆速体験をしてみる。

More than 5 years have passed since last update.

PHP7 (phpng) をインストールして爆速体験をしてみる。

現在php7 (phpng)は開発者向けのAlpha版以下の完成度です。
お試しになる方は自己責任でお願いします。

前準備

bison-2.7 をインストール

Fedora 20 や、CentOS 7 ではyum でインストールできるが、CentOS 6 の場合は以下からダウンロードする。
http://ftp.gnu.org/gnu/bison/
バージョンは必ず2.7を使う。新しい物はダメ。
ダウンロードし、解凍したディレクトリで、

./configure
make
make install

re2c をインストール

Fedora 20 や、CentOS 7 では yum でインストール出来るが(多分)、CentOS 6の場合は以下からダウンロードする。
http://sourceforge.net/projects/re2c/files/re2c/
ダウンロードし、解凍したディレクトリで、

./configure
make
make install

その他

PHP7 (phpng)のソースコード取得には、git が必要なので、まだインストールしていなかったら、

yum install git

等でインストールしておく。
あと、automake, autoconf 等も必要ではないかと思う。

PHP7 ( phpng ) のダウンロードからインストールまで

ソースコードのダウンロードとコンパイルの準備

適当なディレクトリを作成して、

git clone https://git.php.net/repository/php-src.git
cd php-src
git branch phpng origin/phpng
git checkout phpng
./buildconf

configure設定

詳細は、「./configure --help」でオプションを見ることができるが、基本的にはphp-5.6.xと変わらない。
php をこまめにインストールする方には、configureをオプションごとシェルファイルとして作っておくことをおすすめする。
すでにphp5系をインストール済みであれば、prefix設定推奨。

./configure \
    あとはお好みのオプションで

※裏ワザ
ここで生成された Makefile を開き、「-O2」となっている部分を「-O3」と書き直す。
コンパイルの時間がかかるようになるが、phpの実行速度は10%程度速くなる。
これは、php5などでも使えるテクニック。
ただし、何が起こるか保証はできない。決して商用サービスなどで使わないように。

コンパイル

あとは通常のPHPと同様

make
make test
make install
cp php.ini-お好み /path/to/php.ini

php.ini の設定

以下は例

max_execution_time=600
memory_limit=128M
error_reporting=0
display_errors=0
log_errors=0
user_ini.filename=
realpath_cache_size=2M
cgi.check_shebang_line=0

zend_extension=opcache.so
opcache.enable_cli=1
opcache.save_comments=0
opcache.fast_shutdown=1
opcache.validate_timestamps=1
opcache.revalidate_freq=60
opcache.use_cwd=1
opcache.max_accelerated_files=100000
opcache.max_wasted_percentage=5
opcache.memory_consumption=128
opcache.consistency_checks=0

開発する時は opcache は何かと邪魔なので、無効にしてもいい。
WEBサーバでテストする場合は「opcache.enable=1」も追加する。

PHP7( phpng )の実行

/path/to/php -v

と実行し、

PHP 7.0.0-dev (cli) (built: Dec  5 2014 23:29:26)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.8.0-dev, Copyright (c) 1998-2014 Zend Technologies
    with Zend OPcache v7.0.4-dev, Copyright (c) 1999-2014, by Zend Technologies

と出てくれば成功。

いくつか検証したが、速度的にはphp5.6.0 の2倍程度はでていそう。

WordPress は動作した。(プラグインの中には動作しないものもある)

もし、運用中のWordPressでやらかしてしまった場合は、
1. 一旦php5に戻す
2. 怪しげなプラグインを削除する
3. php7を再インストール( make install だけでいい)
4. 動作チェック
を繰り返す。

詳しくは、
http://www.mixp.net/php/894
も、ご参照ください。

2015年1月3日 Qiitaデビューしました。
2014年以前の記事は、
http://www.mixp.net
へどうぞ。--伊良部

y_irabu
WEB開発とかゴニョゴニョやってます。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away