はじめに
新たにPHPに挑戦する為、まずPHPの開発環境を構築することにしました。
環境構築は時間が空いてしまうと忘れがちなので、アウトプットの意味合いも兼ねて備忘録として残します。
使用しているPCはM1 Macになります。
今回はDocker(クジラのやつ)を用いて作っていきたいと思います。
手順
手順は下記の順番で行っていきます。
1.Dockerを起動
2.ファイルの準備
3.各ファイルへのコード入力
4.コンテナを起動
5.接続確認
1.Dockerを起動
まず、Dockerを使うには、「Docker for Mac」のインストールが必要になります。
Dockerをインストールしたら、起動した状態にしておいてください。
2.ファイルの準備
Dockerを起動する場所を作成しましょう。
まずはフォルダを1つ作成します。今回は「php-test」という名前で作成しました。
VS Codeから「php-test」を開いて下記のような構造で作っていきたいと思います。
php-test/
├── docker-compose.yml
├── mysql/
│ └── data/
├── nginx/
│ └── nginx.conf
├── php/
│ ├── Dockerfile
│ └── php.ini
└── www/
└── html/
└── index.php
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が起動されていない、止まっていないかご確認ください。
結果、ターミナルに下記のようなコードが表示されます。
このように表示されれば成功です。
5.接続確認
最後に確認の為、以下のサイトにアクセスします。
下記画像のような画面が表示されたら、成功です。お疲れ様でした。
Webサイト:http://localhost:8080/
以上になります。
最後までお読んで頂き、ありがとうございました。