よっしー
こんにちは。よっしーです(^^)
今日は、Docker環境でPHPのビルトインサーバの実行環境を構築する方法について解説しています。
背景
PHPのビルトインサーバを利用した環境を構築する機会がありましたので、その時の内容を備忘として記事に残しました。
ビルトインサーバとは
PHPのビルトインウェブサーバーは、PHPを使用しているシステムのWebサーバーとして利用できるものです。以下に詳細を説明します。
- ビルトインサーバーとは?
- PHPのプログラム開発サポート用に組み込まれているサーバー環境のことです。
- 通常、ローカル環境ではXAMPPやMAMPなどの環境を用意してPHPを実行しますが、ビルトインサーバーを使うとコマンド一つで手軽にローカルサーバーを立ち上げることができます。
- 基本的な使い方:
- ローカル開発環境にログインすると、以下の手順でビルトインサーバーを起動できます:
- 起動したいPHPファイルが入ったフォルダに移動します(
cd 移動先のフォルダ名
)。IPアドレスを調べます(ip a
)。このIPアドレスは後で使用します。以下のコマンドでビルトインサーバーを起動します(php -S ipアドレス:ポート番号
)。例えば、php -S 192.168.33.10:8000
です。表示されたURLをブラウザに貼り付けて、フォルダの中身が表示されていることを確認します。サーバーを終了するときは、Ctrl
+C
を押します。
- 起動したいPHPファイルが入ったフォルダに移動します(
- ローカル開発環境にログインすると、以下の手順でビルトインサーバーを起動できます:
これをDocker上で実行できるようにしようとしたのが今回の記事の内容になります。
メリット
- 簡便なローカル開発:
- ビルトインウェブサーバーは、ローカル環境での開発をサポートする目的で設計されています。ApacheやNginxなどの外部ウェブサーバーをインストールせずに、PHPアプリケーションを実行できます。
- ターミナルから簡単に起動でき、手軽にローカルでプロジェクトをテストできます。
- 軽量で省電力:
- ビルトインウェブサーバーは、他のモジュールを起動しないため、軽量で省電力です。必要最低限の機能でPHPサーバーを立ち上げることができます。
- .htaccess不要:
- .htaccessファイルを使用せずにサーバーを実行するため、設定の管理が簡単です。
デメリット
- データベースの連携が必要な場合は別途用意が必要:
- ビルトインウェブサーバーはデータベースなど周辺環境を提供しないため、データベースを使用する場合は別途用意する必要があります。
- 本番環境では利用しないように注意:
- ビルトインウェブサーバーはローカル環境での開発をサポートするための機能であり、本番環境では使用しないようにしましょう。
簡易的なローカル開発やテストには便利なツールですが、本番環境では適切なウェブサーバーを選択することをお勧めします。
ファイル一覧
下記のファイルを用意しました。ファイル内容については、次回の記事でご紹介しています。
new file: php_server/Dockerfile
new file: php_server/src/router.php
new file: compose.yml
new file: Makefile
おわりに
今日は、Docker環境でPHPのビルトインサーバの実行環境を構築する方法について解説しました。
よっしー
何か質問や相談があれば、コメントをお願いします。また、エンジニア案件の相談にも随時対応していますので、お気軽にお問い合わせください。
それでは、また明日お会いしましょう(^^)
コメント