PHP組み込みWebサーバー

WBOY
リリース: 2016-06-23 14:34:53
オリジナル
2116 人が閲覧しました

組み込み Web サーバー

PHP 5.4.0 以降、CLI SAPI は組み込み Web サーバーを提供します。

この Web サーバーは開発目的のみに設計されており、運用環境では使用しないでください。

URI -t オプションを使用して明示的なドキュメント ルートを指定しない限り、リクエストは、PHP が起動された現在の作業ディレクトリから処理されます。

URI リクエストでファイルが指定されていない場合は、指定されたディレクトリが返されます。どちらのファイルも存在しない場合は、404 応答コードが返されます。

Web サーバーの起動時にコマンド ラインで PHP ファイルが指定された場合、そのファイルは Web サーバーの「ルーター」スクリプトとして扱われます。スクリプトは各 HTTP リクエストの開始時に実行されます。このスクリプトが FALSE を返した場合、要求されたリソースはそのまま返されます。それ以外の場合、スクリプトの出力はブラウザに返されます。

例 #1 Web サーバーの起動

$ cd ~/public_html$ php -S localhost:8000
ログイン後にコピー

ターミナルには次のように表示されます:

PHP 5.4.0 Development Server started at Thu Jul 21 10:43:28 2011Listening on localhost:8000Document root is /home/me/public_htmlPress Ctrl-C to quit
ログイン後にコピー

http://の場合localhost:8000/ および http://localhost:8000/myscript.html ターミナルには次のような内容が表示されます:

PHP 5.4.0 Development Server started at Thu Jul 21 10:43:28 2011Listening on localhost:8000Document root is /home/me/public_htmlPress Ctrl-C to quit.[Thu Jul 21 10:48:48 2011] ::1:39144 GET /favicon.ico - Request read[Thu Jul 21 10:48:50 2011] ::1:39146 GET / - Request read[Thu Jul 21 10:48:50 2011] ::1:39147 GET /favicon.ico - Request read[Thu Jul 21 10:48:52 2011] ::1:39148 GET /myscript.html - Request read[Thu Jul 21 10:48:52 2011] ::1:39149 GET /favicon.ico - Request read
ログイン後にコピー

例 #2 特定のドキュメントのルート ディレクトリから開始する

$ cd ~/public_html$ php -S localhost:8000 -t foo/
ログイン後にコピー

ターミナルには以下が表示されます:

PHP 5.4.0 Development Server started at Thu Jul 21 10:50:26 2011Listening on localhost:8000Document root is /home/me/public_html/fooPress Ctrl-C to quit
ログイン後にコピー

例 #3 ルータースクリプトの使用

画像のリクエストでは画像が表示されますが、HTML ファイルのリクエストでは「PHP へようこそ」と表示されます

// router.php
if (preg_match('/.(?:png|jpg|jpeg|gif)$/', $_SERVER["REQUEST_URI"]))
return false;    // リクエストされたリソースをそのまま提供します。
else {
echo "

PHP へようこそ

";
}
?>

$ php -S localhost:8000 router.php
ログイン後にコピー

いくつかの URI リクエストの後、ターミナルには次のようなものが表示されます。 http://php.net/manual/ en/features.commandline.webserver.php

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート