0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【初心者】M1 Macを使ってPHPの環境構築をやってみた件(Docker編)

Posted at

はじめに

新たにPHPに挑戦する為、まずPHPの開発環境を構築することにしました。
環境構築は時間が空いてしまうと忘れがちなので、アウトプットの意味合いも兼ねて備忘録として残します。

使用しているPCはM1 Macになります。
今回はDocker(クジラのやつ)を用いて作っていきたいと思います。

手順

手順は下記の順番で行っていきます。

1.Dockerを起動
2.ファイルの準備
3.各ファイルへのコード入力
4.コンテナを起動
5.接続確認

 

1.Dockerを起動

まず、Dockerを使うには、「Docker for Mac」のインストールが必要になります。
Dockerをインストールしたら、起動した状態にしておいてください。

↓このクジラのやつですね。
PHP2.png

2.ファイルの準備

Dockerを起動する場所を作成しましょう。
まずはフォルダを1つ作成します。今回は「php-test」という名前で作成しました。
PHP1.png

VS Codeから「php-test」を開いて下記のような構造で作っていきたいと思います。


php-test/
├── docker-compose.yml
├── mysql/
│   └── data/
├── nginx/
│   └── nginx.conf
├── php/
│   ├── Dockerfile
│   └── php.ini
└── www/
   └── html/
       └── index.php

 

VS Codeの画面だと、下記のようになります。
PHP3.png

3.各ファイルへのコード入力

次に、用意したファイルの中身にそれぞれコードを入れていきます。

コードを入れるファイルは

・docker-compose.yml
・nginx.conf
・Dockerfile
・php.ini
・index.php

の5つです。

docker-compose.yml

version: "3"
services:
  nginx:
    image: nginx:latest
    ports:
      - 8080:80
    volumes:
      - ./nginx/nginx.conf:/etc/nginx/conf.d/default.conf
      - ./www/html:/var/www/html
    depends_on:
      - php

  php:
    build: ./php
    volumes:
      - ./www/html:/var/www/html
    depends_on:
      - db

  db:
    platform: linux/x86_64
    image: mysql:5.7
    ports:
      - 13306:3306
    volumes:
      - ./mysql/data:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: secret

  phpmyadmin:
    image: phpmyadmin/phpmyadmin:latest
    ports:
      - 8888:80
    depends_on:
      - db

nginx.conf

server {
  listen 80;
  server_name _;

  root  /var/www/html;
  index index.php index.html;

  access_log /var/log/nginx/access.log;
  error_log  /var/log/nginx/error.log;

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

  location ~ \.php$ {
      fastcgi_pass php:9000;
      fastcgi_index index.php;    
      fastcgi_param SCRIPT_FILENAME  $document_root$fastcgi_script_name;
      include       fastcgi_params;
  }
}

Dockerfile

FROM php:7.2-fpm
COPY php.ini /usr/local/etc/php/
RUN docker-php-ext-install pdo_mysql

php.ini

date.timezone = "Asia/Tokyo"

index.php

後で設定情報を確認するためにphpinfo();と入れておきます。

<?php
phpinfo();
?>

4.コンテナを起動

それぞれコードを入力後、コンテナを起動します。
VS Codeのターミナルを開き、docker-compose.ymlがあるフォルダ(今回はphp-test)に移動します。

ターミナルに下記のコードを入力してコンテナを起動します。

docker-compose up -d

※コードを入力しても、何も動かない場合はDockerが起動されていない、止まっていないかご確認ください。

結果、ターミナルに下記のようなコードが表示されます。
このように表示されれば成功です。
PHP4.png

同時にフォルダも自動で生成され、下記のように増えます。
PHP5.png

5.接続確認

最後に確認の為、以下のサイトにアクセスします。

下記画像のような画面が表示されたら、成功です。お疲れ様でした。

Webサイト:http://localhost:8080/
image.png

以上になります。
最後までお読んで頂き、ありがとうございました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?