Edited at

開発中の PHP7 を Mac でデバッグビルドする

More than 3 years have passed since last update.

現在、PHP のパフォーマンスを改善するための大改修が行われており、それは PHP7 としてのリリースが進められています。

詳細は以下のページ等を参照してください。

私も新しい PHP の内部構造に興味を持ったので、まずは手元でビルドしてみることにしました。

(内部構造についての記事も正月休み中に書きたい)


ソースコードをチェックアウト

PHP7 の開発版は GitHub 上の master ブランチから取得することができます。

というわけで git で clone するのみです。

歴史あるリポジトリなのでそれなりに時間がかかります。

$ git clone git@github.com:php/php-src.git


ビルドに必要なツール・ライブラリの用意


re2c のインストール

Homebrew でインストールします。

$ brew install re2c


bison のインストール

これも Homebrew でインストールしたいところですが、PHP のビルドに必要なものより新しいもの (2014/12/29 現在では 3.0.2) が入ってしまいます。

PHP のビルドには 2.7 が必要なので、それをどうにか入れる必要があります。

以下の記事で Homebrew の Formula を用意してくださってました。

記事中の方法にちょっと手を加えて、以下のようにインストールしました。

(curl-L を追加)

$ curl -L https://raw.github.com/uzulla/homebrew-versions/bison27/bison27.rb > ~/bison27.rb

$ brew install ~/bison27.rb
$ rm ~/bison27.rb


ビルド・インストール

./configure 実行時に環境変数として bison 2.7 のパスを指定します。

また、デバッグ用のビルドなので、不要な拡張は一切入れないよう --disable-all を指定し、gdb を使うために --enable-debug を指定しています。

--prefix でインストール先のディレクトリを指定していますが、これは各自好きにしましょう。

$ cd php-src

$ ./buildconf
$ YACC=/usr/local/opt/bison27/bin/bison ./configure --disable-all --enable-debug --prefix=$HOME/php7
$ make
$ make install

ビルドについてはこの記事を参考にしました。


バージョンの確認

インストールが完了したらバージョンを確認してみましょう。

$ ~/php7/bin/php -v

PHP 7.0.0-dev (cli) (built: Dec 29 2014 15:24:09) (DEBUG)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v3.0.0-dev, Copyright (c) 1998-2014 Zend Technologies

正常にインストールできたようです。