※すべて終わるまでかなり時間がかかる&ハマる可能性があるので余裕がある時に。
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=14.04
DISTRIB_CODENAME=trusty
DISTRIB_DESCRIPTION="Ubuntu 14.04.5 LTS"
Git のインストール(入ってない場合)
リポジトリの追加
$ sudo add-apt-repository -y ppa:git-core/ppa
インストール
$ sudo apt-get update && sudo apt-get install git -y
バージョン確認
$ git --version
git version 2.7.3
phpenv と php-build のインストール
それぞれインストールするのは面倒なので、一度でインストールするシェルスクリプトを利用。
https://github.com/rogeriopradoj/phpenv-installer
$ curl -L http://git.io/phpenv-installer | bash
インストールできたらパスを通すための処理
$ echo 'export PATH="$HOME/.phpenv/bin:$PATH"' >> ~/.bashrc
$ echo 'eval "$(phpenv init -)"' >> ~/.bashrc
$ exec $SHELL -l
PHPのビルドに必要なものを全てインストール。
$ sudo apt-get install -y libssl-dev libmcrypt-dev libreadline-dev libxslt1-dev libxml2-dev libbz2-dev libcurl4-openssl-dev libpng-dev libjpeg-dev libmcrypt-dev libsqlite-dev libtidy-dev libltdl-dev make autoconf automake re2c lemon
bison というライブラリが必要なんだけど、PHP 5.3 が 2.6.2 以前でないとビルドできない。
ので、敢えて古いバージョンをインストール。
$ wget http://launchpadlibrarian.net/121520545/libbison-dev_2.6.2.dfsg-1_amd64.deb
$ wget https://launchpad.net/ubuntu/+source/bison/1:2.6.2.dfsg-1/+build/3935803/+files/bison_2.6.2.dfsg-1_amd64.deb
$ sudo dpkg -i libbison-dev_2.6.2.dfsg-1_amd64.deb
$ sudo dpkg -i bison_2.6.2.dfsg-1_amd64.deb
ここまでが下準備。
各バージョンの PHP をインストール
インストールできる PHP のバージョン一覧を確認(このページ下部に列挙)
$ phpenv install -l
欲しいバージョンをインストール。
(ここでは 5.3.29 、 5.6.26 、 7.0.11 の3つ)
ちなみに終わるまでめっっっちゃ時間かかる。
$ phpenv install 5.3.29 && phpenv install 5.6.26 && phpenv install 7.0.11
インストール後は各コマンドが使えるようにするための更新が必要
$ phpenv rehash
切り替えてみる
PHP 7.0.11 に指定
$ phpenv global 7.0.11
インストール状況の確認
$ phpenv versions
5.3.29
5.6.26
* 7.0.11 (set by /home/me/.phpenv/version)
バージョン確認
$ php --version
PHP 7.0.11 (cli) (built: Oct 4 2016 16:57:20) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies
with Zend OPcache v7.0.11, Copyright (c) 1999-2016, by Zend Technologies
with Xdebug v2.4.1, Copyright (c) 2002-2016, by Derick Rethans
PHP 5.3.29 に指定
$ phpenv global 5.3.29
バージョン確認
$ php --version
PHP 5.3.29 (cli) (built: Oct 4 2016 15:19:15)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2014 Zend Technologies
with Xdebug v2.2.7, Copyright (c) 2002-2015, by Derick Rethans
ちゃんと変わってる模様。
開発向けのライブラリだからか、XDebug がデフォルトで有効になっている。
対応しているPHPバージョン一覧
$ phpenv install -l
Available versions:
5.2.17
5.3.2
5.3.3
5.3.6
5.3.8
5.3.9
5.3.10
5.3.11
5.3.12
5.3.13
5.3.14
5.3.15
5.3.16
5.3.17
5.3.18
5.3.19
5.3.20
5.3.21
5.3.22
5.3.23
5.3.24
5.3.25
5.3.26
5.3.27
5.3.28
5.3.29
5.4.0
5.4.1
5.4.2
5.4.3
5.4.4
5.4.5
5.4.6
5.4.7
5.4.8
5.4.9
5.4.10
5.4.11
5.4.12
5.4.13
5.4.14
5.4.15
5.4.16
5.4.17
5.4.18
5.4.19
5.4.20
5.4.21
5.4.22
5.4.23
5.4.24
5.4.25
5.4.26
5.4.27
5.4.28
5.4.29
5.4.30
5.4.31
5.4.32
5.4.33
5.4.34
5.4.35
5.4.36
5.4.37
5.4.38
5.4.39
5.4.40
5.4.41
5.4.42
5.4.43
5.4.44
5.4.45
5.4snapshot
5.5.0
5.5.1
5.5.2
5.5.3
5.5.4
5.5.5
5.5.6
5.5.7
5.5.8
5.5.9
5.5.10
5.5.11
5.5.12
5.5.13
5.5.14
5.5.15
5.5.16
5.5.17
5.5.18
5.5.19
5.5.20
5.5.21
5.5.22
5.5.23
5.5.24
5.5.25
5.5.26
5.5.27
5.5.28
5.5.29
5.5.30
5.5.31
5.5.32
5.5.33
5.5.34
5.5.35
5.5.36
5.5.37
5.5.38
5.5snapshot
5.6.0
5.6.1
5.6.2
5.6.3
5.6.4
5.6.5
5.6.6
5.6.7
5.6.8
5.6.9
5.6.10
5.6.11
5.6.12
5.6.13
5.6.14
5.6.15
5.6.16
5.6.17
5.6.18
5.6.19
5.6.20
5.6.21
5.6.22
5.6.23
5.6.24
5.6.25
5.6.26
5.6snapshot
7.0.0
7.0.1
7.0.2
7.0.3
7.0.4
7.0.5
7.0.6
7.0.7
7.0.8
7.0.9
7.0.10
7.0.11
7.0snapshot
7.1.0RC3
7.1snapshot
master
駄文
Bash on Ubuntu on Windows で phpenv をインストールしている記事がググっても見つからなかった。
どうやら Mac で使うようにできているらしく、普通の Ubuntu に入れようとしている人たちがことごとくハマっていて、この記事書くのにも何度もやり直し、なんとか動作するまでに漕ぎつけた・・・