PHP

DockerでPHPの開発環境を構築する


press
DockerでPHPの開発環境を構築する

DockerでPHPの開発環境の構築をしました。普段の業務ではPythonを使うことが多いのですが今回はPHPの開発環境の構築ログです。簡単なPHPの動作を確認したかっただけなのですが、そのためだけにテストサーバーを用意するのも手間がかかってしまうので、今回はDockerで開発環境を構築しました。

以前、PHPで書いていた時は何も気にせず書いても大体のサーバーで動いたし、MAMPで開発していて開発環境なんて気にしなくても特に問題無かったのでPHPの環境構築は今回が初めてです。

Docker + Nginx + PHP-FPMの環境を作っていきます。(Docker fo Macはインストールされているのを前提に進めます)

ディレクトリ構造

├── php
│   └── index.php
├── docker-compose.yml
└── site.conf

docker-compose.yml

version: '3'
services:
  web:
      image: nginx:latest
      ports:
          - "8080:80"
      depends_on:
          - php
      volumes:
          - ./php:/php
          - ./site.conf:/etc/nginx/conf.d/default.conf

  php:
      image: php:7-fpm
      volumes:
          - ./php:/php

site.conf

server {
    index index.php index.html;
    server_name localhost;
    error_log  /var/log/nginx/error.log;
    access_log /var/log/nginx/access.log;
    root /php;

    location / {
        try_files $uri $uri/ /index.php$is_args$args;
    }

    location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass php:9000;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
    }
}

index.php

<?php echo 'Hello Docker'; ?>

Dockerを起動します。

docker-compose up

Dockerを使うと必要な時にサクッと環境構築が出来ます。プロジェクト毎に開発環境を構築すればバージョンの違いなどに悩まされる心配も無くなり開発に集中できます。


当ブログは、群馬県でPython / Djangoを中心にウェブアプリケーションを開発している株式会社ファントムが運営しています。

投稿についてのお問い合わせ




Show Comments (0)

Comments

Related Articles

Django

DockerのPostgreSQLコンテナのリストア

Dockerで動いているPostgreSQLにデータをリストアする方法です。書き出したPostgreSQLのdumpファイル(リストア用データ)はデスクトップに置いてあるという前提で進めます。 ディレクトリ構造 Dock […]

Posted on by press
Django

DjangoとChannelsで簡単なチャットサーバーを構築(3)

前回からの続きです。 チャンネルレイヤーを有効化 チャンネルレイヤーを使用するためにバックエンドにRedisを使用します。Redisを使用するためにDockerを起動します。 以下のコマンドを実行してRedisを起動しま […]

Posted on by press