ホームページ バックエンド開発 PHPチュートリアル PHP 54 内蔵 Web サーバー Web サーバーのランキング Web サーバーの原理 シンプルな Web サーバー

PHP 54 内蔵 Web サーバー Web サーバーのランキング Web サーバーの原理 シンプルな Web サーバー

Jul 29, 2016 am 08:50 AM
ウェブサーバー

PHP はスクリプト言語であり、PHP ファイルを分析して実行するには PHP インタープリターが必要です。 Web リクエストを処理する CGI として PHP を使用する場合、PHP を何らかの Web サーバー (最も一般的には Apache または IIS に統合) に組み込む必要があります。これは、PHP を使用する前に、Apache または IIS をインストールし、それらを正しく構成する必要があることを意味します。および PHP 統合パラメータ。この構成は標準化されており、ドキュメントは非常に充実していますが、Apache と PHP の統合をインストールするときに、依然として問題が発生することがよくあります。さらに、単純な PHP 機能をテストしたいだけで、Apache サービスをインストールして開始したくない場合もあります。この目的のために。 。

しかし、公式ドキュメントによると、この組み込み Web サーバーは開発とテスト専用であり、運用環境での使用は推奨されません。このサーバーはリクエストを順番に受け付けて処理するため、リクエストを同時に処理することはできません。

この内蔵 Web サーバーは非常に使いやすく、次のコマンドを実行するだけでアクセスできます。この方法で開始した後、デフォルトの Web サービス ディレクトリは、コマンドが実行される現在のディレクトリになります。現在のディレクトリを使用したくない場合は、-t パラメータを使用して指定する必要があります。

例 #1 Web サーバーを起動します

<ol><li><span><span>$ php -S localhost:8000 </span></span></li></ol>
ログイン後にコピー

ターミナル出力情報:

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

http://localhost:8000/ および http://localhost:8000/myscript.html アドレスを要求した後、ターミナルは次のような情報を出力します。以下:

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

例 #2 Web サーバーの起動時にドキュメントのルート ディレクトリを指定します

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

ターミナル表示メッセージ:

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

起動コマンド ラインの後に php スクリプト ファイルを追加すると、このファイルが処理されます「ルーター」スクリプトとして。このスクリプトはすべての HTTP リクエストを処理します。このスクリプトが実行時に FALSE を返した場合、要求されたリソースは通常どおり返されます。 FALSE でない場合、このスクリプトによって生成されたコンテンツがブラウザーに表示されます。

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

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

<ol>
<li><span><span>PHP 5.4.0 Development Server started at Thu Jul 21 10:50:26 2011  </span></span></li>
<li><span>Listening on localhost:8000  </span></li>
<li><span>Document root is /home/me/public_html/foo  </span></li>
<li><span>Press Ctrl-C to quit </span></li>
</ol>
ログイン後にコピー
<ol>
<li><span><span><?php  </span></span></li><li><span>// router.php </span><span> </span></li><li><span>if</span><span> (preg_match(</span><span>'/\.(?:png|jpg|jpeg|gif)$/'</span><span>, </span><span>$_SERVER</span><span>[</span><span>"REQUEST_URI"</span><span>])) {  </span></li><li><span>return</span><span> false;    </span><span>// serve the requested resource as-is. </span><span> </span></li><li><span>} </span><span>else</span><span> {  </span></li><li><span>echo</span><span> </span><span>"<p>Welcome to PHP</p>"</span><span>;  </span></span></li>
<li><span>}  </span></li>
<li><span>?> </span></li>
</ol>
ログイン後にコピー

例 #4内蔵 Web サーバー

は、プログラムの判断を通じて、内蔵 Web サーバーと本番サーバーの同じ PHP ルーター スクリプトの異なる動作を調整します:

<ol><li><span><span>$ php -S localhost:8000 router.php </span></span></li></ol>
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
<ol><li><span><span><?php  </span></span></li><li><span>// router.php </span><span> </span></li><li><span>if</span><span> (php_sapi_name() == </span><span>'cli-server'</span><span>) {  </span></li><li><span>/* route static assets and return false */</span><span> </span></li><li><span>}  </span></li><li><span>/* go on with normal index.php operations */</span><span> </span></li><li><span>?> </span></span></li></ol>
ログイン後にコピー

この内蔵 Web サーバーは、いくつかの標準 MIME タイプを認識できます。リソース、および拡張子は .css、.gif、.htm、.html、.jpe、.jpeg、.jpg、.js、.png、.svg、および .txt です。 .htm および .svg 拡張子のサポートは、PHP 5.4.4 以降でのみサポートされます。

例 #5 サポートされていないファイル タイプの処理

Web サーバーでサポートされていない MIME ファイル タイプを正しく処理できるようにするには、次の手順を実行します:

<ol><li><span><span>$ php -S localhost:8000 router.php </span></span></li></ol>
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
<ol><li><span><span><?php  </span></span></li><li><span>// router.php </span><span> </span></li><li><span>$path</span><span> = </span><span>pathinfo</span><span>(</span><span>$_SERVER</span><span>[</span><span>"SCRIPT_FILENAME"</span><span>]);  </span></li><li><span>if</span><span> (</span><span>$path</span><span>[</span><span>"extension"</span><span>] == </span><span>"ogg"</span><span>) {  </span></li><li><span>header(</span><span>"Content-Type: video/ogg"</span><span>);  </span></li><li><span>readfile(</span><span>$_SERVER</span><span>[</span><span>"SCRIPT_FILENAME"</span><span>]);  </span></li><li><span>}  </span></li><li><span>else</span><span> {  </span></li><li><span>return</span><span> FALSE;  </span></li><li><span>}  </span></li><li><span>?> </span></span></li></ol>
ログイン後にコピー

内蔵 Web サーバーにリモートでアクセスしたい場合は、起動コマンドを以下に変更されました:

例 #6 この組み込み Web サーバーへのリモート アクセス

<ol><li><span><span>$ php -S localhost:8000 router.php </span></span></li></ol>
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

したがって、ポート 8000 を介してこの組み込み Web サーバーにリモート アクセスできます

上記では、Web サーバーの内容も含めて、PHP 54 の組み込み Web サーバーを紹介しました。PHP チュートリアルに興味のある友人に役立つことを願っています。

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

一般的な 5 つの Web サーバーとは何ですか? 一般的な 5 つの Web サーバーとは何ですか? Aug 25, 2022 pm 02:03 PM

5 種類の Web サーバーは次のとおりです: 1. IIS、公共イントラネットまたはインターネット上で情報を公開できる Web サーバー、2. Apache、Apache Software Foundation のオープン ソース Web サーバー、3. WebSphere Application Server、Web アプリケーションサーバー; 4. Tomcat は Java ベースの Web アプリケーション ソフトウェア コンテナです; 5. Lighttpsd はオープン ソースの Web サーバー ソフトウェアです。

CentOS上に構築されたWebサーバーのセキュリティ監査とイベントログ管理 CentOS上に構築されたWebサーバーのセキュリティ監査とイベントログ管理 Aug 05, 2023 pm 02:33 PM

CentOS で構築された Web サーバーのセキュリティ監査とイベント ログ管理の概要 インターネットの発展に伴い、Web サーバーのセキュリティ監査とイベント ログ管理の重要性が増しています。 CentOS オペレーティング システムで Web サーバーをセットアップした後は、サーバーのセキュリティに注意を払い、悪意のある攻撃からサーバーを保護する必要があります。この記事では、セキュリティ監査とイベント ログ管理を実行する方法を紹介し、関連するコード例を示します。セキュリティ監査 セキュリティ監査とは、サーバーのセキュリティ状態を包括的に監視および検査し、潜在的な問題を迅速に発見することを指します。

ベスト プラクティス: CentOS で Web サーバーを構築するためのパフォーマンス チューニング ガイド ベスト プラクティス: CentOS で Web サーバーを構築するためのパフォーマンス チューニング ガイド Aug 04, 2023 pm 12:17 PM

ベスト プラクティス: CentOS で Web サーバーを構築するためのパフォーマンス チューニング ガイド 概要: この記事は、CentOS で Web サーバーを構築するユーザーにパフォーマンス チューニングのベスト プラクティスを提供し、サーバーのパフォーマンスと応答速度を向上させることを目的としています。いくつかの主要な調整パラメータと一般的に使用される最適化手法が紹介され、読者がこれらの手法をよりよく理解し、適用できるようにいくつかのサンプル コードが提供されます。 1. 不要なサービスを停止する CentOS 上で Web サーバーを構築すると、デフォルトで不要なサービスが起動され、システムリソースを占有します。

CentOS で Web サーバーを構築する前に注意する必要がある権限とアクセス制御戦略 CentOS で Web サーバーを構築する前に注意する必要がある権限とアクセス制御戦略 Aug 05, 2023 am 11:13 AM

CentOS で Web サーバーを構築する前に注意すべき権限とアクセス制御戦略 Web サーバーを構築するプロセスでは、権限とアクセス制御戦略が非常に重要です。権限とアクセス制御ポリシーを正しく設定すると、サーバーのセキュリティを保護し、権限のないユーザーによる機密データへのアクセスやサーバーの不適切な操作を防ぐことができます。この記事では、CentOS システムで Web サーバーを構築するときに注意する必要がある権限とアクセス制御戦略を紹介し、対応するコード例を示します。ユーザーとグループの管理 まず、専用の

Web サーバーが swoole を使用しない理由について話し合う Web サーバーが swoole を使用しない理由について話し合う Mar 27, 2023 pm 03:29 PM

Swoole は、PHP をベースにしたオープンソースの高性能ネットワーク通信フレームワークで、TCP/UDP サーバーとクライアントの実装に加え、さまざまな非同期 IO、コルーチン、その他の高度な機能を提供します。 Swoole の人気が高まるにつれて、多くの人が Web サーバーによる Swoole の使用について関心を持ち始めています。現在の Web サーバー (Apache、Nginx、OpenLiteSpeed など) はなぜ Swoole を使用しないのですか?この質問について調べてみましょう。

入門チュートリアル: CentOS で Web サーバーをセットアップするためのクイック ガイド 入門チュートリアル: CentOS で Web サーバーをセットアップするためのクイック ガイド Aug 04, 2023 pm 06:04 PM

入門レベルのチュートリアル: CentOS で Web サーバーを構築するためのクイック ガイド はじめに: 今日のインターネット時代では、独自の Web サーバーを構築することが多くの人々にとって必要になっています。この記事では、CentOS オペレーティング システム上に Web サーバーを構築する方法を紹介し、読者がそれをすぐに実装できるようにコード例を示します。ステップ 1: Apache のインストールと構成 ターミナルを開き、次のコマンドを使用して Apache サーバーをインストールします: sudoyuminstallhttpd インストールが完了したら、Apac を起動します。

Go で Web サーバーを作成するためのベスト プラクティス Go で Web サーバーを作成するためのベスト プラクティス Jun 18, 2023 pm 07:38 PM

Go 言語は、特にネットワーク プログラミングで人気の開発言語となっています。 Go で Web サーバーを作成する場合、サーバーのセキュリティ、保守性、拡張性を確保するためのベスト プラクティスが数多くあります。ここでは、Go Web サーバーの効率と信頼性を向上させるのに役立ついくつかの提案と実践を示します。標準ライブラリの使用 Go 言語の標準ライブラリには、ネットワーク プログラミングに関連するパッケージが多数あります。たとえば、net/http パッケージは HTTP サーバーの作成に役立ち、net パッケージは低レベルのネットワーク接続の処理に役立ちます。

CentOS 7 で Web サーバーを構築するためのベスト プラクティスと注意事項 CentOS 7 で Web サーバーを構築するためのベスト プラクティスと注意事項 Aug 25, 2023 pm 11:33 PM

CentOS7 で Web サーバーを構築するためのベスト プラクティスと注意事項 はじめに: 今日のインターネット時代において、Web サーバーは Web サイトを構築およびホスティングするためのコア コンポーネントの 1 つです。 CentOS7 は、サーバー環境で広く使用されている強力な Linux ディストリビューションです。この記事では、CentOS7 で Web サーバーを構築するためのベスト プラクティスと考慮事項を検討し、理解を深めるのに役立ついくつかのコード例を示します。 1. Apache HTTP サーバーをインストールします。 Apache は、HTTP サーバーで最も広く使用されています。

See all articles