docker コンテナでphpenvの環境を構築

環境

  • debian 8(コンテナ)
  • phpenv 1.1.1-2

まず初めに

dockerが好きでなんでもdockerでしてみたい、そして環境もdockerで用意したい、と思いコンテナでphpの環境を作りました。
自分の思考的に、、、どうしてもdebianベースでコンテナを用意してしまいます。
実際に行った内容をメモ的な感じで書いていきます。
Dockerfileはめんどくさいんで作りません。もしコンテナとしてサーバに展開してバージョン管理するなら、作りますが、、、

準備

コンテナ起動

docker run -it -d ~~~~~ --name php debian:8 /bin/bash

必要なパッケージのインストー

docker exec -it php /bin/bash
apt-get install git gcc g++ make file autoconf automake libxml2-dev bzip2 libbz2-dev libssl-dev re2c libcurl4-openssl-dev pkg-config libjpeg-dev libpng-dev libmcrypt-dev libreadline6 libreadline6-dev libtidy-dev libxslt-dev

phpenvのインストー

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

※phpenv-install.shで~/.phpenvが作られるため、すでに作成されていないか確認。すでにある場合は削除。

phpenv-の環境パスの設定

~/.bashrcに追記

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

反映

source ~/.bashrc

php-buildのインストー

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

これでinstallコマンドが使えるようになった。

PHPのセッティング

PHPのインストー

今回は7.0.8をインストー

phpenv install 7.0.8

下記、ログで成功

[Info]: Enabling Opcache...
[Info]: Done
[Info]: The Log File is not empty, but the Build did not fail. Maybe just warnings got logged. You can review the log in /tmp/php-build.7.0.8.20170627162000.log
[Success]: Built 7.0.8 successfully.

失敗したらその都度、トライアンドエラーで対処。

インストールしたPHPを指定

phpenv global 7.0.8
phpenv rehash

PHPのバージョン確認

php -v
PHP 5.6.30-0+deb8u1 (cli) (built: Feb  8 2017 08:50:21)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
    with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies

これで自分のPCでPHPの環境の準備完了。