28
27

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

PHPAdvent Calendar 2013

Day 22

PHPの複数バージョン管理に php-nabe とかどう?

Last updated at Posted at 2013-12-21

複数バージョンの 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 のインストール

最近はこれがなきゃ始まらない Composerphp-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

hamaco-cookbooks/php_nabe

最近話題の chef の cookbook も作ってあるので Vagrant 環境とかに入れてみたい時にちゃちゃっといけます。
ただ、ほぼ自分用になっちゃってるので使いにくい所とかあったら直して pullreq とか貰えると嬉しいです。
使い方とかは README とか見てください。

Vagrant

hamaco/vagrant-php-nabe

最近話題の Vagrant のファイルも作ってみたので Vagrant で簡単に試してみることができます。
github から clone してきてvagrant upすれば、PHP 5.3, 5.4, 5,5 がインストールされて、php-fpm が設定されてる状態を試せます。

おわり

こんな感じで結構気軽に使えると思うので気になった人は是非 php-nabe を使ってみて下さい。

28
27
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
28
27

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?