昨日、2015/12/4 に PHP7 がリリースされた。
ここを参考にインストールしてみる。
docker にある centos7 にインストールする。
まずはdocker起動。
rootで作業する。
yum install -y epel-release
# 依存パッケージをインストール
# ソースをダウンロードして解凍
# コンパイルしてインストール
cd php-src-php-7.0.0RC2 ./buildconf --force
./configure \ --prefix=/opt/php7 \ --with-libdir=lib64 \ --enable-fpm \ --enable-mbstring \ --enable-mysqlnd \ --enable-bcmath \ --enable-sockets \ --enable-exif \ --enable-gd-native-ttf \ --enable-gd-jis-conv \ --enable-intl \ --enable-pcntl \ --enable-soap \ --enable-wddx \ --enable-zip \ --with-openssl \ --with-pcre-regex \ --with-zlib \ --with-bz2 \ --with-curl \ --with-gd \ --with-webp-dir \ --with-jpeg-dir \ --with-png-dir \ --with-zlib-dir \ --with-xpm-dir \ --with-freetype-dir \ --with-gettext \ --with-gmp \ --with-mhash \ --with-icu-dir=/usr \ --with-ldap \ --with-onig \ --with-mcrypt \ --with-mysqli=mysqlnd \ --with-pdo-mysql=mysqlnd \ --with-readline \ --with-snmp \ --with-tidy \ --with-xsl \ --with-gnu-ld
checkが走る。
configure が完了。
make -j$(nproc)
make は時間がかかってる。
やっとmakeが終わった。30分近くかかった。
make install
make install はすぐ終わった。
ここまでを docker で image に保存しておく。
ーーー
byobu で ログインを切り替えて
# docker commit コンテナ名
docker -D した画面をモニタリングしてると、docker commit は、実体は untar みたい。
docker commit が完了。
# docker imagesで、上書きされたか(更新時刻)を確認する。
ーーー
更新はされたけど、リポジトリ名とTAG名が「none」になっちゃってる。「centos/centos7」に上書きしたかったのだが。
# docker commit のときに、イメージ名の指定がいるのか。
書式はこうだった。
$ docker commit {コンテナ名}|{コンテナID} {ユーザ名}/{イメージ名}
もう一度コミットしておく。
# docker commit example-nginx-binbash4 centos/centos7
あれ。また違うのができてしまった。
上から3行目に上書きしたいだけなのに。1行目ができてしまう。
ーーー
もう一度 docker commit の書式をググる。
書式違ってた。
ユーザ名とイメージ名の間はコロン(:)が正しい。
再度コミットする。
# docker commit example-nginx-binbash4 centos:centos7
正常にコミットされた。
1行目に、centos:centos7 が来ていて、更新日時が最新になっている。
次回はいよいよPHP7の動きを試す。