検索
ホームページバックエンド開発PHPチュートリアルHTTP サーバーは PHP のサポートをどのように実装しますか? _PHP チュートリアル

現在、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 までご連絡ください。
PHPの継続的な使用:その持久力の理由PHPの継続的な使用:その持久力の理由Apr 19, 2025 am 12:23 AM

まだ人気があるのは、使いやすさ、柔軟性、強力なエコシステムです。 1)使いやすさとシンプルな構文により、初心者にとって最初の選択肢になります。 2)Web開発、HTTP要求とデータベースとの優れた相互作用と密接に統合されています。 3)巨大なエコシステムは、豊富なツールとライブラリを提供します。 4)アクティブなコミュニティとオープンソースの性質は、それらを新しいニーズとテクノロジーの傾向に適応させます。

PHPおよびPython:類似点と相違点を調査しますPHPおよびPython:類似点と相違点を調査しますApr 19, 2025 am 12:21 AM

PHPとPythonはどちらも、Web開発、データ処理、自動化タスクで広く使用されている高レベルのプログラミング言語です。 1.PHPは、ダイナミックウェブサイトとコンテンツ管理システムの構築によく使用されますが、PythonはWebフレームワークとデータサイエンスの構築に使用されることがよくあります。 2.PHPはエコーを使用してコンテンツを出力し、Pythonは印刷を使用します。 3.両方ともオブジェクト指向プログラミングをサポートしますが、構文とキーワードは異なります。 4。PHPは弱いタイプの変換をサポートしますが、Pythonはより厳しくなります。 5. PHPパフォーマンスの最適化には、Opcacheおよび非同期プログラミングの使用が含まれますが、PythonはCprofileおよび非同期プログラミングを使用します。

PHPおよびPython:さまざまなパラダイムが説明されていますPHPおよびPython:さまざまなパラダイムが説明されていますApr 18, 2025 am 12:26 AM

PHPは主に手順プログラミングですが、オブジェクト指向プログラミング(OOP)もサポートしています。 Pythonは、OOP、機能、手続き上のプログラミングなど、さまざまなパラダイムをサポートしています。 PHPはWeb開発に適しており、Pythonはデータ分析や機械学習などのさまざまなアプリケーションに適しています。

PHPとPython:彼らの歴史を深く掘り下げますPHPとPython:彼らの歴史を深く掘り下げますApr 18, 2025 am 12:25 AM

PHPは1994年に発信され、Rasmuslerdorfによって開発されました。もともとはウェブサイトの訪問者を追跡するために使用され、サーバー側のスクリプト言語に徐々に進化し、Web開発で広く使用されていました。 Pythonは、1980年代後半にGuidovan Rossumによって開発され、1991年に最初にリリースされました。コードの読みやすさとシンプルさを強調し、科学的コンピューティング、データ分析、その他の分野に適しています。

PHPとPythonの選択:ガイドPHPとPythonの選択:ガイドApr 18, 2025 am 12:24 AM

PHPはWeb開発と迅速なプロトタイピングに適しており、Pythonはデータサイエンスと機械学習に適しています。 1.PHPは、単純な構文と迅速な開発に適した動的なWeb開発に使用されます。 2。Pythonには簡潔な構文があり、複数のフィールドに適しており、強力なライブラリエコシステムがあります。

PHPとフレームワーク:言語の近代化PHPとフレームワーク:言語の近代化Apr 18, 2025 am 12:14 AM

PHPは、多数のWebサイトとアプリケーションをサポートし、フレームワークを通じて開発ニーズに適応するため、近代化プロセスで依然として重要です。 1.PHP7はパフォーマンスを向上させ、新機能を紹介します。 2。Laravel、Symfony、Codeigniterなどの最新のフレームワークは、開発を簡素化し、コードの品質を向上させます。 3.パフォーマンスの最適化とベストプラクティスは、アプリケーションの効率をさらに改善します。

PHPの影響:Web開発などPHPの影響:Web開発などApr 18, 2025 am 12:10 AM

phphassiblasifly-impactedwebdevevermentandsbeyondit.1)itpowersmajorplatformslikewordpratsandexcelsindatabase interactions.2)php'sadaptableability allowsitale forlargeapplicationsusingframeworkslikelavel.3)

スカラータイプ、リターンタイプ、ユニオンタイプ、ヌル可能なタイプなど、PHPタイプのヒントはどのように機能しますか?スカラータイプ、リターンタイプ、ユニオンタイプ、ヌル可能なタイプなど、PHPタイプのヒントはどのように機能しますか?Apr 17, 2025 am 12:25 AM

PHPタイプは、コードの品質と読みやすさを向上させるためのプロンプトがあります。 1)スカラータイプのヒント:php7.0であるため、基本データ型は、int、floatなどの関数パラメーターで指定できます。 3)ユニオンタイプのプロンプト:PHP8.0であるため、関数パラメーターまたは戻り値で複数のタイプを指定することができます。 4)Nullable Typeプロンプト:null値を含めることができ、null値を返す可能性のある機能を処理できます。

See all articles

ホット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ヘンタイを無料で生成します。

ホットツール

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

SublimeText3 Mac版

SublimeText3 Mac版

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

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません