CentOS7でPHPのバージョンを管理する
やりたいこと
- PHP7触りたい
- php5系もいつでも触りたい
- バージョンごとに環境を作りたくない(めんどくさい)
- PHPそのものを管理しちゃおうぜ
環境
- CentOS7.0
EPELのリポジトリのインストール
sudo yum install epel-release
phpenvとphp-buildを入れる
curl -L https://raw.github.com/CHH/phpenv/master/bin/phpenv-install.sh | bash git clone git://github.com/CHH/php-build.git ~/.phpenv/plugins/php-build cd .phpenv/plugins/php-build/ sudo sh install.sh
パスを通す
echo 'export PATH="$HOME/.phpenv/bin:$HOME/.phpenv/versions/7.0.0RC5/sbin:$PATH"' >> ~/.bashrc echo 'eval "$(phpenv init -)"' >> ~/.bashrc exec $SHELL -l
必要なパッケージを入れる
sudo yum install libxml2-devel bison bison-devel openssl-devel curl-devel libjpeg-devel libpng-devel libmcrypt-devel readline-devel libtidy-devel libxslt-devel
re2cを入れる
sudo wget -P /usr/share/ http://sourceforge.net/projects/re2c/files/re2c/0.14.3/re2c-0.14.3.tar.gz cd /usr/share sudo tar zxvf re2c-0.14.3.tar.gz -C /usr/share/ cd re2c-0.14.3 ./configure sudo make install
一度PHP7を入れてみる
- ちょっと時間かかる
php-build --definitions php-build 7.0.0RC5 ~/.phpenv/versions/7.0.0RC5
環境に入れることができたか確認する
phpenv versions * 7.0.0RC5
PHP7の利用範囲を決める
- 環境全体で使いたい場合
phpenv global 7.0.0RC5 phpenv rehash php -v PHP 7.0.0RC5 (cli) (built: Oct 17 2015 10:52:27) ( NTS ) Copyright (c) 1997-2015 The PHP Group Zend Engine v3.0.0-dev, Copyright (c) 1998-2015 Zend Technologies with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2015, by Zend Technologies
- 指定したディレクトリだけ7.0.0RC5を使いたい場合
mkdir /vagrant/7.0.0RC5 cd /vagrant/7.0.0RC5 phpenv local 7.0.0RC5 phpenv rehash php -v PHP 7.0.0RC5 (cli) (built: Oct 17 2015 10:52:27) ( NTS ) Copyright (c) 1997-2015 The PHP Group Zend Engine v3.0.0-dev, Copyright (c) 1998-2015 Zend Technologies with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2015, by Zend Technologies
おもったこと
- 盛大にハマってた
- yumからphpの必要なパッケージ外されてるとか知らなかった
- ubuntu版もあるけど新しいLTSが発表されてから続き作るか検討する
- 2015/10/18に改修
参考元