PHP7が速いと聞いて試してみたいけど、
今ある環境を削除して、改めてPHP7の環境を作るのは面倒だし、
PHP7の環境を作っている間に仕事の連絡が来たら困る。
そんな時に仮想環境を用意してそこで試すのが良い。
だけど、VirtualBox自体が処理が重くてPHPの速さを試すにはちょっと…
ということで、
Docker - Build, Ship, and Run Any App, Anywhere
コンテナ型の仮想化のDockerでPHP7の環境を構築してみることにした。
最初にDockerのダウンロード。
Windows版はboot2dockerを入れとくれ。
とりあえず、Ubuntuに入れたので、インストール手順を書く。
sudo apt-get update sudo apt-get install docker-engine sudo service docker start
※この方法だとDockerの最新版は入らないよ。
これでインストールは終了。
端末を開いて、
docker -v Docker version 1.10.3, build 20f81dd
docker -vでDockerのバージョンが表示されていれば、インストールは終了です。
mkdir ~/phpenv cd phpenv emacs -nw Dockerfile
とりあえず、docker用のディレクトリを作成して、Dockerfileを作成します。
ファイルを作成できたら、ファイルを開き、
#PHPの環境 FROM php:apache #ログインすると/var/www/htmlにいるので、以下にphpinfoを作成しておく RUN echo '' > info.php
Dockerfileはこれで終了。
ここまで出来たら、端末で
#phpappというコンテナイメージを作成 docker build -t phpapp . #phpappのイメージからコンテナを作成 ポートは8080 docker run -it -p 8080:80 phpapp
これで終了。
別の端末を開き、
docker exec -it 9919b50b3e8c3b19415297985fd160142dc8a06dd319291536296058d30d127b /bin/bash
※-itの後の数字とアルファベットの羅列はコンテナIDね。docker psで調べられる。
docker execで作成したコンテナの中に入り、
root@9919b50b3e8c:/var/www/html#
操作している環境が変わったことが確認できたら、
php -v PHP 7.0.4 (cli) (built: Mar 19 2016 00:21:33) ( NTS ) Copyright (c) 1997-2016 The PHP Group Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies
こんな感じで確認して、PHPのバージョンを確認します。
確認できたらブラウザを開き、
http://localhost:8080/info.phpを開いてみて、
PHPInfoが表示できることを確認。
Apacheの設定とかをすべてすっ飛ばして、PHPの実行環境ができちゃった。
だけど、まだルートディレクトリ上でファイルを操作するのが難しいので、
そのうち、そこら辺にも手を加えていく。
余談だけど、
落としてきたPHP7のイメージがubuntuで動くように書かれているのがありがたい。