システム開発 2021年8月27日

DockerでPHPの開発環境を作りました

何ができるの?

オンラインのサーバーではなく手元にあるパソコンの中にDockerというアプリケーションで仮想環境を作り、その中でウェブサーバーとデータベースを動かしてウェブサイトがどう動くか確認することができます。

ウェブサイトがどう表示されるかテストするとき、HTMLやCSS、JavaScriptだけならばブラウザがあれば十分です。ですが、PHPやPythonなどがサーバーでプログラムを実行しているサイトの場合はブラウザだけでは動きません。それを動かすための開発環境です。

開発環境を作る方法は他にもVirtualBoxやXAMPPなどがありますが、Dockerは動作が軽いことと、作った環境を他の人に共有しやすいこと、クラウド技術との相性がいいことなどから人気があります。

使い方

ここでの目標はdocker-composeで起動して実際のサイトの代わりにphpinfoをブラウザに表示することです。

Docker DesktopGitを使用します。Windows10のコマンドプロンプトでコマンドを実行していきます。

まず、コマンドプロンプトを開いて以下のコマンドを入力します。これでGitHubからリポジトリがクローンされて、nginx-php-mysql-dockerというフォルダができているはずです。

git clone https://github.com/azciel/nginx-php-mysql-docker.git

cloneされたリポジトリに移動します。

cd nginx-php-mysql-docker

今回はリポジトリの中にphpinfoを表示するサイトを設置します。そのために以下のコマンドでフォルダを用意します。htdocsはサイトを置くフォルダです。log\nginxはログファイルの出力先です。

mkdir htdocs
mkdir log\nginx

サイトを置くフォルダができたのでここにindex.phpを保存します。以下のコマンドでメモ帳が立ち上がります。Visual Studio Codeなど他の使い慣れたエディタがある人はそちらを使ってください。

notepad htdocs/index.php

htdocs\index.phpには次の内容を書き込んで保存します。

<?php
phpinfo();

準備ができたのでコマンドプロンプトに以下のコマンドを入れて起動します。

docker-compose up -d

ブラウザでlocalhostを開くとphpinfoが表示されているはずです。停止するには以下のコマンドを入力してください。

docker-compose down

GitHubで公開しています

使い方の詳細についてはREADMEをご覧ください azciel/nginx-php-mysql-docker

記事の著者:

Web制作ならアズシエルにご相談ください。

Web制作パートナーとしてサイトの企画からデザイン、運用まで支援します!Webサイト制作についてはこちらからサービスをご確認ください!

この記事をSNSでシェアする!