手元のPCでPHPの動作を試す方法

Docker, Docker Compose, PHP, VSCode

覚えたてのDockerを使ったらあっさりできて感動した。

これまで私が使ってきたXAMPP環境上でやってももちろん良いのだけど、Dockerを使えばPHP以外の環境にも汎用的に使えてPC内がスッキリする。

Dockerを使ってPHPプログラムを動かすまでの手順をカンタンザックリとメモメモ。


注意

DockerをWindows 10 PC上で使う場合、Windows 10 ProのHyper-V機能をONにしておく必要がある。

これをすると、Intel CPUのVT-x機能を使う他のツール(例:VirtualBox)が使えなくなってしまうので注意が必要だ。

Linux PCの場合は心配しなくてOKのはず。VSCodeのDocker拡張機能がとても使いやすい。

Macはよく分からない。

以下の説明はWindows前提。

やり方

次のリンク先からPCにDocker Desktopをダウンロードしインストールする。

https://docs.docker.jp/docker-for-windows/install.html

次のリンク先に所望のバージョンのPHPイメージがあるか確認する。

https://hub.docker.com/_/php?tab=tags&page=1&ordering=last_updated

例えばPHP 7.4環境が使いたい場合は次のイメージが使える。

https://hub.docker.com/layers/php/library/php/7.4-cli/images/sha256-43eaa6c1014e440b057748fe44a7b508d80b59d3fc474b24979689553477ec97?context=explore

ワンタッチでPHP環境のON/OFFができるように、docker-compose.ymlファイルをつくる。

中身は例えばこんな感じ。

version: "3.8"
services: 
  app:
    command: "/bin/bash"
    image: php:7.4-cli
    ports: 
      - 8080:80
    tty: true
    volumes: 
      - ${PWD}:/app

docker-compose.ymlファイルがあるフォルダに、動作させたいPHPファイルを配置する。

同フォルダでコマンドプロンプトを開き、次のコマンドを実行する。

docker-compose up -d

Docker Desktopに表示されているコンテナのコマンドラインを表示する。または、次のコマンドでコマンドラインにアタッチしてもよい。

docker exec -it <コンテナIDまたはコンテナの名前> bash

コンテナのコマンドライン上で /app ディレクトリに移動すると、先ほどdocker-compose.ymlファイルのある場所に配置したPHPファイルが見つかると思う。

そこで、次のコマンドを実行すると、PHPプログラムが走る。

php <PHPファイル名.php>