こんにちはb0cchiです。
さっとテストするならPlaygroundでもいいじゃん?っていう意見もありますが、シークレットキーとかの入力が必要なテストだとPlaygroundってちょっと抵抗ありませんか?
というわけで、今回はPHPの環境をさっとdocker compose
コマンドで構築するためのサンプルです。
コード全体はGithubにあげてありますので、手っ取り早く使いたい場合は、そちらを参照してください。
ディレクトリ概要
以下の構成にして、docker compose
コマンドでPHPを実行できるようにしていきたいと思います。index.php
がPHPの本体で、docker-compose.yml
ファイルにdockerの設定を書いていきます。
quick-start-php
├─ src
| └─ index.php
└─ docker-compose.yml
docker-compose.yml
version: '3'
services:
php:
image: php:8.1.5-apache # (1)
container_name: dev-php # (2)
ports:
- 4001:80 # (3)
volumes:
- ./src:/var/www/html # (4)
- PHPのdockerイメージです。今回は8.1.5のバージョンを使っていますが、使いたいバージョンがある場合は、公式を参照して
-apache
があるものを選んでください。 - コンテナ名です。
docker compose ps
したときに、dev-php
の名前でコンテナが立ち上がります。 - ポート指定です。ブラウザで確認するときに、
localhost:4001
でアクセスできるようにします。4001をすでに使っている場合は、空いているポート番号を指定してください。 - ボリューム指定です。
src
ディレクトリをコンテナの/var/www/html
へマッピングしています。
index.php
<html>
<head>
<title>Quick Start PHP</title>
</head>
<body>
<?php echo '<h1>Quick Start PHP</h1>'; ?>
<div>
<?php phpinfo(); ?>
</div>
</body>
</html>
PHP
のサンプルファイルです。
echo
で文字列出力しているのと、phpinfo()
を使ってPHPのバージョン情報等を表示できるようになっています(ほぼPHP公式のサンプルコードです。)。
このindex.php
でサンプルコードや動作テストをさっとできるんじゃないかと思います。
レッツ実行!
上記のquick-start-php
ディレクトリで以下のコマンドを実行します。
$ docker compose up -d
エラーなくカーソルが戻ってきたら、適当なブラウザ(下図ではchrome)を起動し、localhost:4001
をアドレスバーに入力し下図のページが表示されたらOKです!
最後に
さっと開発環境を構築して動作確認できると実装可能かどうか素早く判断し、不安要素を排除して精神的に楽になりましょう! ではでは。よい開発体験を!!