複数バージョンの PHP を入れようと思ったら有名な phpenv + php-build とか、phpbrew とかありますが、php-nabe ってものもあるよってことでひとつ。
php-nabe ってどこが良いの?
- PHP をビルドするのに PHP が不要
- RBENV_ なんちゃらみたいに ruby っぽいのがでてこない
- シンプル!
ただ、php-nabe という名前の PHP version manager を作った « Ooharabucyou に理由が書いてある通り、インストール可能な PHP のバージョンリストを内部で持ってないので、インストールする際には自分でバージョンを調べてインストールする必要があります。
この辺は自動で最新のバージョンリストを取得できるような仕組みがあれば本体に取り込まれるんじゃないかと思うので誰か詳しい人は pullreq でも送ればいいんじゃないかな!
php-nabe のインストール
php-nabe をダウンロードして PATH を通すだけ! 簡単!
$ git clone https://github.com/kawahara/php-nabe.git $HOME/.php-nabe
$ $HOME/.php-nabe/php-nabe setup
$ export PATH=$HOME/.php-nabe/bin:$PATH
php-nabe の使い方
PHP のインストール
インストールは普通にバージョン番号渡すだけ。
また、PHP の ./configure に渡したいオプションがあれば普通にオプション名渡せばそれがそのまま ./configure のオプションになります。
$ php-nabe install 5.5.7 --enable-fpm
$ php-nabe use 5.5.7
インストールして使用するバージョンの指定が終わったらちゃんとそのバージョンが使われるようになっているか確認してみましょう。
$ php -v
PHP 5.4.4-10 (cli) (built: Nov 24 2012 11:21:26)
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2012 Zend Technologies
Extension のインストール
php-nabe ext-install
で extension も簡単にインストールできます。
$ php-nabe ext-install mbstring
$ php -r "echo mb_strlen('あいうえお');"
15
Composer のインストール
最近はこれがなきゃ始まらない Composer もphp-nabe composer-install
で一発インストールできます。
$ php-nabe composer-install
$ composer --version
Composer version fb72d26def99d08ee32e5be7b553817f585f164e 2013-12-20 10:53:52
zsh補完
hamaco/php-nabe-zsh-completion
補完関数作ってあるので以下の様な感じでコマンドを実行するとコマンドの補完ができるようになります。
$ mkdir -p $HOME/.zsh/completion
$ cd $HOME/.zsh/completion
$ wget https://raw.github.com/hamaco/php-nabe-zsh-completion/master/_php-nabe
$ echo 'fpath=($HOME/.zsh/completion $fpath)' >> $HOME/.zshenv
$ echo 'autoload -Uz compinit && compinit -u' >> $HOME/.zshrc
$ exec zsh
既に補完の設定とかをやった事がある人は _php-nabe を落としてきて、$FPATH
が通っている所に置いて下さい。
chef cookbook
最近話題の chef の cookbook も作ってあるので Vagrant 環境とかに入れてみたい時にちゃちゃっといけます。
ただ、ほぼ自分用になっちゃってるので使いにくい所とかあったら直して pullreq とか貰えると嬉しいです。
使い方とかは README とか見てください。
Vagrant
最近話題の Vagrant のファイルも作ってみたので Vagrant で簡単に試してみることができます。
github から clone してきてvagrant up
すれば、PHP 5.3, 5.4, 5,5 がインストールされて、php-fpm が設定されてる状態を試せます。
おわり
こんな感じで結構気軽に使えると思うので気になった人は是非 php-nabe を使ってみて下さい。