MacOSX
phpenv

Macにphpenvを導入する際のメモ

はじめに

似たような記事があるので、投稿どうしようかと思っていましたが、自分用に残そうかと。
新しいMacBookに久しぶりにphpenvを入れようとした際にハマってしまったときの解消メモです。

phpenvを入れる

試行錯誤したものの、Homebrew経由では上手くいかなかったので、直接入れました。

$ git clone https://github.com/CHH/phpenv.git
$ phpenv/bin/phpenv-install.sh

.bash_profileに追記する

.bash_profileの末尾に追記し、反映します。

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

php-buildを入れる

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

インストール可能なバージョンを確認する

pyenv、nodenvと同じなので、これらを普段使っている人は見なくても打てますが、念のため。

$ phpenv install --list

事前にインストールするもの

phpenvでインストールする際に色々足りないと出るので、Homebrew経由で、以下をインストールします。

$ brew install re2c
$ brew install openssl
$ brew install bison
$ brew install libxml2

新しい環境には、以下が足りなかったので後で以下を追加インストールしました。

$ brew install autoconf
$ brew install automake
$ brew install icu4c
$ brew install libjpeg
$ brew install libpng
$ brew install libmcrypt

任意のバージョンをインストールする

(一般的には)以下のコマンドでインストールできます。
※ 下記では、5.6.35を指定しています。

$ phpenv install 5.6.35

足りないものを入れてもエラーが消えず、brew linkで指定するもエラーが消えず、結局、入れる際は以下のコマンドで入れました。
いつも覚えられない。。

$ PHP_BUILD_CONFIGURE_OPTS="--with-openssl=$(brew --prefix openssl) --with-libxml-dir=$(brew --prefix libxml2)" phpenv install 5.6.35

バージョンを指定する

あとはバージョンを指定します。pyenv、nodenvと同じなので、これらを普段使っている人は見なくても打てますが、念のため。

$ phpenv versions
$ phpenv global 5.6.35
$ phpenv rehash

その他

10回以上やってますが、いつも同じopensslのエラーやicuのエラーで(前に何をやったのか忘れて)試行錯誤している気がします。
今日も午前中は、この作業で終わってしまった。