俺の俺による俺のためのphpビルド用Makefile
- macOSのみサポートしてます
- php-buildの追従速度が物足りない
- 7.1.0が出たその瞬間にビルドしたい
- ビルドオプション覚えるのはしんどい
いつものファイルダウンロード、./configureオプション、ビルドと言った手順をmakefile化しました。 汎用性は低い、、です。
$ make help
$ git clone git://github.com/hirak/php-install.git path/to/your-favorite-dir
$ cd path/to/your-favorite-dir/php-install
動くかどうかよくわからないセットアップスクリプトがあります。
$ make setup
- $HOME/.php/ というディレクトリがある
- makeに必要なライブラリがhomebrewでインストールされている
であればOKです
$ make ls
$ make ls-remote
$ make install version=7.1.0
$ make use version=7.1.0
PATHの通った ~/.php/current/bin にシンボリックリンクを張るだけです。
( ~/.php/から消すだけ )
$ make uninstall version=7.1.0
$ make fullclean version=7.1.0
Makefile読んで。
公式ビルドなのでpeclコマンドがインストールされています。が、pecl installしたあとのecho extension=〜を打ち込むのが面倒くさくなってきたので、ターゲット作りました。 先にuseを実行してからお願いします。バージョン指定はできません
$ make use version=5.6.29
$ make xdebug
xdebugはzend_extension
なので特別コマンドにしてあります。
pecl installを行う、pecl
というターゲットを作りました。php.iniへの書き込みもやってくれるので便利。
インストール済みのリストは pecl-ls
で取得。
$ make use version=5.6.29
$ make pecl-ls
opcache.so
$ make pecl pecl=igbinary
$ make pecl-uninstall pecl=igbinary
peclライブラリの中には、独自コンパイルオプションを持つものがあるそうです。
pecl installだとそういったオプションはサポートできないので、自前でphpize & makeするpecl-build
というターゲットも用意しました。
pecl
ターゲットの代わりにはなりますが、peclコマンド管理外になります。
optionsという環境引数に、configure
に渡すオプションを指定してください。
$ make use version=5.6.29
$ make pecl-ls
opcache.so
$ make pecl-build pecl=memcached options="--enable-memcached-igbinary"