2017年9月15日金曜日

Mac に phpenv を導入して phpのバージョンを切り替える

lolipopのサーバーを管理していると、ローカルの検証サイトでも、phpのバージョンを2つ以上用意したくなる。バーチャル環境で、幾つも用意する方がスッキリするが、ローカルで使っているMacはSSDで、ちょっと負担と考え、phpenvを導入して、管理することにする。

いろんなサイトを参考にしたが、すんなりはいかなかったので、メモを残す。



参考にしたのは、下記の情報です。
PHPバージョン管理のphpenvをMacにインストールで複数ver使う PHP5.6/PHP7

最初からエラー
$ git clone https://github.com/CHH/phpenv.git
xcode-select: note: no developer tools were found at '/Applications/Xcode.app', requesting install. Choose an option in the dialog to download the command line developer tools.
そういえば、OS Sierraにしてから、何もしていない。 command line developer toolsを導入して再トライ。
コピーができたので、下記コマンドでインストール
$ phpenv/bin/phpenv-install.sh

:(途中省略)

Success.
export PATH="/Users/nobuyukiyamaguchi/.phpenv/bin:$PATH"
eval "$(phpenv init -)"
Add above line at the end of your ~/.bashrc and restart your shell to use phpenv. 
成功!指示通り.bashrcにパスを追加。
早速、phpenvのバージョンを確認してみると
$source .bashrc
$phpenv --version
rbenv 1.1.1-6-g2d7cefe 
なんで”rbenv”なの?
phpenv で複数の PHP 環境を管理する の「rbenv をインストールしている場合」に書かれている。ruby用のrbenvがある場合は、rubyの設定を先にしておかないと、動かないそうだ。
指示通り.bashrcを変更して、突破!

php-bulidをインストール
$git clone git://github.com/CHH/php-build.git $HOME/.phpenv/plugins/php-build
入れられるバージョンを確認
$ phpenv install --list 
長々とリストが出てくる。導入したい7.1.5もある。
導入したいバージョンを選んで導入コマンドを実行
$ php-build 7.1.5 ~/.phpenv/versions/7.1.5
-bash: php-build: command not found 
今入れたのに、ないの? 掲載情報が違っていた。下記が正しい。
$ phpenv install 7.1.5
ここからが、エラーの山である。ここれは、Macに php7を導入する問題として、別途掲載することにします。

phpの導入ができると下記で、phpの全バージョンが確認できる。アスタリスク付きが今設定されているバージョンだ。
$ phpenv versions
* system (set by /Users/nobuyukiyamaguchi/.phpenv/version)
  7.1.5
導入したバージョンに切り替える
$phpenv global 7.1.5
確認してみる
$ phpenv version
7.1.5 (set by /Users/nobuyukiyamaguchi/.phpenv/version)
$ phpenv versions
  system
* 7.1.5 (set by /Users/nobuyukiyamaguchi/.phpenv/version)
Sierra にphp7を入れるのに丸1日かかったが、それを除けば、すんなりである。

0 件のコメント: