よっしー
こんにちは。よっしーです(^^)
今日は、Docker環境でPHPのビルトインサーバの実行環境を構築する方法について解説しています。
背景
PHPのビルトインサーバを利用した環境を構築する機会がありましたので、その時の内容を備忘として記事に残しました。
前回の記事は、ビルトインサーバについて解説しています。
ファイル一覧
下記のファイルを作成しました。この記事では、php_server/src/router.php について解説しています。
new file: Makefile
new file: compose.yml
new file: php_server/Dockerfile
new file: php_server/src/router.php
php_server/src/router.php
<?php
// router.php
if (preg_match('/\.(?:png|jpg|jpeg|gif)$/', $_SERVER["REQUEST_URI"])) {
return false; // リクエストされたリソースをそのままの形式で扱います。
} else {
echo "<p>Welcome to PHP</p>";
}
このコードは PHP のスクリプトで、Webアプリケーションのルーティングを担当しています。以下に解説します:
<?php
:これはPHPの開始タグです。PHPコードの始まりを示します。// router.php
:この行はコメントで、router.php
というファイルがどのような役割を果たしているかを説明しています。if (preg_match('/\.(?:png|jpg|jpeg|gif)$/', $_SERVER["REQUEST_URI"])) { ... } else { ... }
:これは条件分岐です。リクエストされたURLが画像ファイル(拡張子がpng、jpg、jpeg、gif)であれば、return false;
としてリソースをそのままの形式で扱います。それ以外の場合は、<p>Welcome to PHP</p>
と表示します。preg_match('/\.(?:png|jpg|jpeg|gif)$/', $_SERVER["REQUEST_URI"])
:正規表現を使ってリクエストされたURLが画像ファイルの拡張子に一致するかをチェックしています。$_SERVER["REQUEST_URI"]
:この変数は、クライアントからのリクエストのURI(Uniform Resource Identifier)を含んでいます。
- 最後の行で、画像ファイルでない場合は「Welcome to PHP」というメッセージを表示しています。
このスクリプトは、特定の条件に基づいてリクエストされたリソースを処理するためのものです。画像ファイルのリクエストには特別な処理をせず、それ以外のリクエストには「Welcome to PHP」のメッセージを返します。
おわりに
今日は、Docker環境でPHPのビルトインサーバの実行環境を構築する方法について解説しました。
よっしー
何か質問や相談があれば、コメントをお願いします。また、エンジニア案件の相談にも随時対応していますので、お気軽にお問い合わせください。
それでは、また明日お会いしましょう(^^)
コメント