ホームページ  >  記事  >  バックエンド開発  >  PHP組み込みWebサーバー

PHP組み込みWebサーバー

WBOY
WBOYオリジナル
2016-06-23 14:34:532094ブラウズ

組み込み 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 へようこそ」と表示されます

812f9914e447e08250f4a66b3417028e";
}
?>

$ php -S localhost:8000 router.php

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。