目次
現在、HTTPServer には基本的に 3 つの人気のあるスタックがあります:
ホームページ バックエンド開発 PHPチュートリアル HTTP サーバーは PHP のサポートをどのように実装しますか? _PHP チュートリアル

HTTP サーバーは PHP のサポートをどのように実装しますか? _PHP チュートリアル

Jul 13, 2016 am 10:33 AM
http サーバ

現在、PHP には 3 種類の HTTP サーバー サポートがあります:

  • Apache の mod_php5 などの HTTP サーバーの組み込みモジュールを通じて実現され、同様の Apache の組み込み mod_perl は perl をサポートできます。
  • CGI を通じて実現されますが、これは Perl の以前の CGI と同様です。この方法の欠点は、サーバーがこれらのスクリプトに遭遇するたびにスクリプト パーサーを再起動してスクリプトを実行し、結果を返す必要があるためです。サーバーはあまり安全ではなく、ほとんど使用されません。
  • 最新のものは FastCGI と呼ばれます。いわゆる FastCGI は CGI を改良したものです。通常、スクリプト プロセッサは 1 つまたは複数のデーモン プロセスを起動し、HTTP サーバーがスクリプトを実行するためにそのスクリプトを直接 FastCGI プロセスに渡します (通常は HTML)。ブラウザに戻ります。
  • FastCGI のこの方法に関する小さな問題は、大量のトラフィックを伴う頻繁なリクエストに遭遇すると、スクリプト プロセッサのデーモン プロセスが過負荷になって非常に遅くなったり、メモリ リークを引き起こしたりする可能性があることです。ただし、Apache の組み込みモジュール方式と比較した利点は、サーバーとスクリプト パーサーが完全に分離され、それぞれが責任を負うため、サーバーが肥大化しなくなり、静的ファイルへの応答やスクリプト パーサーの結果を返すことに集中できることです。ユーザークライアント側への動的スクリプトパーサー。したがって、Apache の組み込みモジュール方式と比較して、パフォーマンスが大幅に向上する場合があります。 Apache+mod_php よりも 5 ~ 10 倍高速である可能性があることをテストした人もいます。

FastCGI を使用する一般的なスタックは 2 つあります:

ligthttpd+spawn-fcgi
  • nginx+PHP-FPM (spawn-fcgiも使用可能)
  • 上で述べたように、どちらの構造も FastCGI を使用して PHP をサポートしているため、HTTP サーバーは完全に解放され、応答性と同時処理が向上します。したがって、lighttpd と nginx はどちらも小さいながらも強力で効率的であるという評判を得ています。

また、spawn-fcgi は lighttpd の一部であるため、lighttpd がインストールされている場合、PHP をサポートするために spawn-fcgi が使用されることになりますが、現在一部のユーザーは、lighttpd の spwan-fcgi がサポートしていると主張しています。同時実行性が高いと、前述のメモリリークが発生し、fastcgi も自動的に再起動されます。つまり、この時点でユーザーがアクセスすると、PHP スクリプト プロセッサがクラッシュし、白いページが表示される可能性があります (つまり、PHP を解析できないか、エラーが発生します)。

lighttpd とは異なり、Nginx には fastcgi (spawn-fcgi) が付属しているため、完全に軽量であり、PHP を解析するためにサードパーティの FastCGI プロセッサの助けを必要とするため、nginx は非常に柔軟に接続できるようです。 PHP 解析を実装するためのサードパーティ解析プロセッサ (nginx.conf で簡単に設定できます)。

nginx は spwan-fcgi を使用できます (lighttpd を一緒にインストールする必要がありますが、nginx ではポートを回避する必要があります。一部の古いブログにはこれに関するインストール チュートリアルがあります)。ただし、spawn-fcgi には前述したようにユーザーによって徐々に発見される欠陥があるため、上記のように、nginx+spawn-fcgi の組み合わせの使用は徐々に減少しています。

spawn-fcgi の欠陥により、現在、新しいサードパーティ製 (現在、近い将来に PHP コアに追加することに熱心に取り組んでいると聞きました) PHP 用の FastCGI プロセッサである PHP-FPM が登場しました (詳細についてはグーグルで調べてください)。 spawn-fcgi と比較すると、次の利点があります:

PHPパッチとして開発されているため、インストール時にPHPソースコードと一緒にコンパイルする必要があります。つまり、PHPコアにコンパイルされるため、パフォーマンスの点で優れています。同時に、高い同時実行性の処理において spawn-fcgi よりも優れており、少なくとも fastcgi プロセッサを自動的に再起動しません。使用されている具体的なアルゴリズムと設計については、Google でご覧ください。

そのため、前述したように、nginx の軽量さと柔軟性により、現在のパフォーマンスは優れており、nginx + PHP/PHP-FPM の組み合わせを使用する人が徐々に増えています。

まとめ

現在、HTTPServer には基本的に 3 つの人気のあるスタックがあります:


Apache+mod_php5
  • lighttp+spawn-fcgi
  • nginx+PHP-FPM

http://www.bkjia.com/PHPjc/752557.html

tru​​ehttp://www.bkjia.com/PHPjc/752557.html技術記事現在、さまざまなサーバーによる PHP のサポートは 3 種類あります: Apache の mod_php5 などの HTTP サーバーの組み込みモジュール、同様の Apache の組み込み mod_perl は、...
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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)

RPC サーバーに接続できない、およびデスクトップに入れない場合の解決策 RPC サーバーに接続できない、およびデスクトップに入れない場合の解決策 Feb 18, 2024 am 10:34 AM

RPC サーバーが利用できず、デスクトップからアクセスできない場合はどうすればよいですか? 近年、コンピューターとインターネットが私たちの生活の隅々に浸透しています。集中コンピューティングとリソース共有のテクノロジーとして、リモート プロシージャ コール (RPC) はネットワーク通信において重要な役割を果たします。ただし、場合によっては、RPC サーバーが利用できなくなり、デスクトップにアクセスできなくなる状況が発生することがあります。この記事では、この問題の考えられる原因のいくつかについて説明し、解決策を提供します。まず、RPC サーバーが使用できない理由を理解する必要があります。 RPCサーバーは、

CentOSインストールヒューズとCentOSインストールサーバーの詳細説明 CentOSインストールヒューズとCentOSインストールサーバーの詳細説明 Feb 13, 2024 pm 08:40 PM

LINUX ユーザーとして、CentOS にさまざまなソフトウェアやサーバーをインストールする必要があることがよくありますが、この記事では、CentOS に Fuse をインストールしてサーバーをセットアップする方法を詳しく紹介し、関連する作業をスムーズに完了できるようにします。 CentOS のインストールfusionFuse は、権限のないユーザーがカスタマイズされたファイル システムを通じてファイル システムにアクセスして操作できるようにするユーザー スペース ファイル システム フレームワークです。CentOS への Fuse のインストールは非常に簡単で、次の手順に従うだけです: 1. ターミナルを開き、次のようにログインします。ルートユーザー。 2. 次のコマンドを使用して、fuse パッケージをインストールします: ```yuminstallfuse3。インストール プロセス中のプロンプトを確認し、「y」を入力して続行します。 4. インストール完了

Dnsmasq を DHCP リレー サーバーとして構成する方法 Dnsmasq を DHCP リレー サーバーとして構成する方法 Mar 21, 2024 am 08:50 AM

DHCP リレーの役割は、2 つのサーバーが異なるサブネット上にある場合でも、受信した DHCP パケットをネットワーク上の別の DHCP サーバーに転送することです。 DHCP リレーを使用すると、ネットワーク センターに集中 DHCP サーバーを展開し、それを使用してすべてのネットワーク サブネット/VLAN に IP アドレスを動的に割り当てることができます。 Dnsmasq は、一般的に使用される DNS および DHCP プロトコル サーバーであり、ネットワーク内の動的ホスト構成の管理を支援する DHCP リレー サーバーとして構成できます。この記事では、dnsmasq を DHCP リレー サーバーとして構成する方法を説明します。コンテンツ トピック: ネットワーク トポロジ DHCP リレー上の静的 IP アドレスの構成 集中型 DHCP サーバー上の DHCP リレー D

PHP を使用して IP プロキシ サーバーを構築するためのベスト プラクティス ガイド PHP を使用して IP プロキシ サーバーを構築するためのベスト プラクティス ガイド Mar 11, 2024 am 08:36 AM

ネットワーク データ転送において、IP プロキシ サーバーは重要な役割を果たし、ユーザーが実際の IP アドレスを隠し、プライバシーを保護し、アクセス速度を向上させるのに役立ちます。この記事では、PHP を使用して IP プロキシ サーバーを構築する方法に関するベスト プラクティス ガイドを紹介し、具体的なコード例を示します。 IPプロキシサーバーとは何ですか? IP プロキシ サーバーは、ユーザーとターゲット サーバーの間にある中間サーバーであり、ユーザーとターゲット サーバー間の転送ステーションとして機能し、ユーザーのリクエストと応答を転送します。 IPプロキシサーバーを使用する場合

Epic サーバーがオフラインのときにゲームに参加できない場合はどうすればよいですか? Epic がオフラインでゲームに参加できない理由の解決策 Epic サーバーがオフラインのときにゲームに参加できない場合はどうすればよいですか? Epic がオフラインでゲームに参加できない理由の解決策 Mar 13, 2024 pm 04:40 PM

Epic サーバーがオフラインのときにゲームに参加できない場合はどうすればよいですか?この問題は多くの友人が経験しているはずです。このプロンプトが表示されると、正規のゲームが起動できなくなります。この問題は通常、ネットワークやセキュリティ ソフトウェアからの干渉によって引き起こされます。では、どのように解決すればよいでしょうか?今回の編集者が説明します。解決策を皆さんと共有したいと思います。今日のソフトウェア チュートリアルが問題の解決に役立つことを願っています。オフライン時に epic サーバーがゲームに参加できない場合の対処方法: 1. セキュリティ ソフトウェアによって妨害されている可能性があります。ゲーム プラットフォームとセキュリティ ソフトウェアを閉じて、再起動します。 2. 2 つ目は、ネットワークの変動が大きすぎることです。ルーターを再起動して機能するかどうかを確認してください。状態に問題がない場合は、5G モバイル ネットワークを使用して動作を試みることができます。 3. それならもっとあるかもしれない

Web ページのリダイレクトの一般的なアプリケーション シナリオを理解し、HTTP 301 ステータス コードを理解する Web ページのリダイレクトの一般的なアプリケーション シナリオを理解し、HTTP 301 ステータス コードを理解する Feb 18, 2024 pm 08:41 PM

HTTP 301 ステータス コードの意味を理解する: Web ページ リダイレクトの一般的なアプリケーション シナリオ インターネットの急速な発展に伴い、Web ページの操作に対する人々の要求はますます高くなっています。 Web デザインの分野では、Web ページのリダイレクトは一般的かつ重要なテクノロジであり、HTTP 301 ステータス コードによって実装されます。この記事では、HTTP 301 ステータス コードの意味と、Web ページ リダイレクトにおける一般的なアプリケーション シナリオについて説明します。 HTTP301 ステータス コードは、永続的なリダイレクト (PermanentRedirect) を指します。サーバーがクライアントのメッセージを受信すると、

PHP FFmpeg 拡張機能をサーバーにインストールするにはどうすればよいですか? PHP FFmpeg 拡張機能をサーバーにインストールするにはどうすればよいですか? Mar 28, 2024 pm 02:39 PM

PHPFFmpeg拡張機能をサーバーにインストールするにはどうすればよいですか? PHPFFmpeg 拡張機能をサーバーにインストールすると、PHP プロジェクトでオーディオ ファイルとビデオ ファイルを処理し、オーディオ ファイルとビデオ ファイルのエンコード、デコード、編集、処理などの機能を実装できます。この記事では、PHPFFmpeg 拡張機能をサーバーにインストールする方法と、具体的なコード例を紹介します。まず、PHP と FFmpeg がサーバーにインストールされていることを確認する必要があります。 FFmpeg がインストールされていない場合は、以下の手順に従って FFmpe をインストールできます。

Golangサーバーのメリットと有用性を詳しく解説 Golangサーバーのメリットと有用性を詳しく解説 Mar 20, 2024 pm 01:51 PM

Golang は Google によって開発されたオープンソース プログラミング言語で、効率的、高速かつ強力であり、クラウド コンピューティング、ネットワーク プログラミング、ビッグ データ処理などの分野で広く使用されています。厳密に型指定された静的言語である Golang には、サーバー側アプリケーションを構築する際に多くの利点があります。この記事では、Golang サーバーの利点と有用性を詳細に分析し、具体的なコード例を通じてその威力を説明します。 1. 高性能 Golang コンパイラーは、コードをローカル コードにコンパイルできます。

See all articles