読者です 読者をやめる 読者になる 読者になる

Mavericksにphpenvを入れる

開発環境にPHP5.5の環境を作ろうと思い、phpenvで複数バージョンを切り替えられることがわかったので、インストールしてみました。

phpenvとは?

PHP複数のバージョンを切り替えて使えるようにするツールです。

CHH/phpenv

※別のphpenvもあるので間違えないようにしてください。

ビルドには、php-buildというツールを使います。


ちなみに、phpenvはRubyのrbenvに相当します。

というか、phpenvのインストールスクリプトを見ると、GitHubからrbenvのソースを取得して、rubyphpに変換するみたいなことをやっていますね。これで動くのが驚き。

これなら、「nginxenv」とか、「mysqlenv」とか、いっそのこと何でも対応できる「anyenv」みたいなものもできそう。

まあ、ビルドの処理が一番難しいのだとは思いますが。

※ちょっとググってみたら、「nginxenv」はまだないですが、「mysqlenv」や「anyenv」はあるみたいですね。後で調べてみます。

phpenvをインストール

環境は、Mac OS X 10.9.4 Mavericks です。

Macでは、Homebrewでインストールできます:

$ brew install phpenv
==> Downloading https://github.com/CHH/phpenv/archive/01a2c1e25096f8ff10f2f78142
######################################################################## 100.0%
==> /usr/local/Cellar/phpenv/01a2c1e/bin/phpenv-install.sh
==> Caveats
To finish installing phpenv:
 * Add ~/.phpenv/bin to your $PATH
 * Add "eval $(phpenv init -)" at the end of your ~/.bashrc
 * Restart your shell
==> Summary
/usr/local/Cellar/phpenv/01a2c1e: 6 files, 24K, built in 9 second

.bashrc の設定

phpenvのREADMEの IMPORTANT NOTES に、

For rbenv users: Make sure that ~/.rbenv/bin takes precedence in the PATH over ~/.phpenv/bin by placing it before, so rbenv gets used from ~/.rbenv.

とあります。

参考訳:

rbenvユーザー向け: PATH~/.rbenv/bin~/.phpenv/bin の前に置いて優先されるようにしてください。そうすると、rbenv~/.rbenv から使用されます。

なので、~/.bashrc には、rbenvの設定と合わせて、以下のように入れました。

export PATH="$HOME/.rbenv/bin:$HOME/.phpenv/bin:$PATH"
eval "$(rbenv init -)"
eval "$(phpenv init -)”

rbenvを入れていない場合は、単純に以下のコードでOKです。

export PATH="$HOME/.phpenv/bin:$PATH"
eval "$(phpenv init -)”

設定を有効にするために、コンソールを開き直します。

php-buildをインストール

CHH/php-build にあるとおりにインストールします:

$ git clone git://github.com/CHH/php-build.git $HOME/.phpenv/plugins/php-build


これでphpenv関連のインストールは終わりです。

この後、phpenvを使ってPHPをインストールするわけですが、これがなかなか大変でした。以下の記事にまとめました。

MavericksにphpenvでPHP5.5を入れる - IT探検記

参考

phpenv/README.md at master · CHH/phpenv

HomebrewのphpenvでPHPをインストールしたメモ / マスタカの ChangeLog メモ