目次
どの PHP モードですか? Apache vs CGI vs FastCGI、apachefastcgi
どの PHP モードですか? Apache vs CGI vs FastCGI
Apache モジュール (mod_php)
CGI
どれを使えばいいですか?
ホームページ バックエンド開発 PHPチュートリアル PHP モードはどれですか? Apache vs CGI vs FastCGI、apachefastcgi_PHP教程

PHP モードはどれですか? Apache vs CGI vs FastCGI、apachefastcgi_PHP教程

Jul 12, 2016 am 09:06 AM
fastcgi

どの PHP モードですか? Apache vs CGI vs FastCGI、apachefastcgi

どの PHP モードですか? Apache vs CGI vs FastCGI

Web サーバー上で PHP スクリプトを実行するには複数の方法があります。これらのモードの違いについてよく質問されるので、ここで説明します。
Linux クラウド ホスティング製品群全体で、最も一般的な 3 つの PHP ハンドラーを提供しています。

  • Apacheモジュール
  • CGI
  • 高速CGI

それぞれには独自の長所と短所があります。

Apache モジュール (mod_php)

mod_php を使用して Web サーバー上で PHP スクリプトを実行するのは、お客様が使用する最も一般的な方法であり、最近まで、新しい Web スペースを作成するときに設定するデフォルトのモードでした。

mod_php を使用すると、サーバー上で生成される各 Apache プロセスに PHP インタープリターが埋め込まれます。これにより、すべての Apache ワーカーが PHP スクリプト自体を処理および実行できるようになり、外部プロセスを処理する必要がなくなります。 CGI や FastCGI とは異なります。これは、すべてのリクエストを Apache で処理できるため、多くのリクエストに PHP コードが含まれる可能性が高い「PHP 負荷の高い」サイト (WordPress、Drupal、Joomla など) で非常に役立ちます。

インタープリターは Apache とともに起動されるため、特定の情報をキャッシュでき、スクリプトが実行されるたびに同じタスクを繰り返す必要がないため、非常に高速に実行できます。

これの欠点は、PHP インタープリターが組み込まれているため、より多くのシステム リソースが必要となるため、各 Apache プロセスのフットプリントが大きくなることです。 PHP コードを実行する必要のない画像、テキスト、スタイル シートなどの静的コンテンツを提供する場合でも、プロセスには PHP インタープリターが含まれます。

長所

  • Apacheによって実行されるPHPコード
  • 外部プロセスは必要ありません。
  • PHP の負荷が高いサイトで非常に優れたパフォーマンスを発揮します。
  • PHP 構成設定は .htaccess ディレクティブ内でカスタマイズできます。

短所

  • 各 Apache プロセスのフットプリントが大きくなります。つまり、より多くの RAM が使用されます。
  • 非 PHP コンテンツ用の PHP インタープリターをロードします。
  • PHP スクリプトで作成されたファイルは通常、Web サーバーによって所有されるため、後から FTP 経由で編集することはできません。

CGI

CGI アプリケーションで PHP スクリプトを実行するのは、Web サーバー上でアプリケーションを実行する従来の方法であり、非常に非効率で、ほとんど使用されません。元々は 1990 年代に導入されましたが、非常に小規模なサイト以外で使用するには非効率すぎると考えられていました。

CGI でアプリケーションを実行する利点は、コードの実行が Web サーバーから分離され、セキュリティ上の利点がいくつか追加されることです。たとえば、FastCGI 経由で実行されるバグのある、または安全でない PHP スクリプトは、ホストされているドメイン外の他のファイルを破損したり、セキュリティに影響を与えたりすることはできません。これは、PHP インタープリターが必要な場合にのみ呼び出されるため、静的コンテンツを Web サーバーのみで提供できることも意味します。

CGI サポートを使用して PHP を実行する非効率性は、PHP コードを実行する必要があるたびに新しいプロセスを作成する必要があることから発生します。ご想像のとおり、負荷の高いサイトや PHP ベースのアプリケーションでは、非常にリソースを大量に消費する可能性があります。

このモードを使用しているレイヤーシフト顧客はほとんどいないため、お勧めしません!

長所

    PHP コードの実行が Web サーバーから分離されるため、mod_php (上記) よりもセキュリティが優れています。

短所

    アプリケーションを実行する従来の方法。
  • パフォーマンスが非常に悪いです。
高速CGI

FastCGI は、PHP Apache モジュールと CGI アプリケーションの間の中間点として導入されました。これにより、Web サーバーの外部のインタープリターによってスクリプトを実行できるようになり、CGI のセキュリティ上の利点が含まれますが、CGI の非効率性はまったく含まれません。

FastCGI で PHP スクリプトを実行する場合、各リクエストは通信ソケットを介して Web サーバーから FastCGI に渡されます。これにより、必要に応じて Web サーバーと PHP インタープリターを独自の個別のサーバー環境に分割できるため、スケーラビリティが大幅に向上します。ただし、Apache の前で nginx を使用しても同様の最終結果を達成できます (nginx 自体が基本的なリクエストを処理し、動的リクエストのみを Apache に渡すなど)。そのため、この点だけで特定のシナリオの理想的な選択を決定することはできません。

Plesk 環境では、FastCGI はドメイン FTP ユーザーとして実行され、最新バージョンの Plesk パネルを実行するすべての Linux サービスで提供されるデフォルトの PHP ハンドラーです。

FastCGI サポートで PHP を実行する場合の欠点は、

.htaccess で定義された PHP ディレクティブが使用されないことです。 回避策として、カスタム php.ini ファイルを使用してドメインごとに PHP ディレクティブを設定することが可能です。任意の Plesk パネル サーバー

長所

  • PHP コードの実行が Web サーバーから分離されるため、セキュリティが向上します。
  • 静的コンテンツは PHP インタープリターによって処理されません。
  • 後でアクセス許可を変更することなく、FTP ユーザーがファイルを管理できるようにします。

短所

  • .htaccess では PHP ディレクティブを使用できません。これは、多くの一般的なスクリプトで予期されています。
  • PHP リクエストが Web サーバーから渡される必要があります。

どれを使えばいいですか?

小規模なサイトでは、通常、どの PHP サポート モードが必要かを決定するのは個人的な好みになります。 CMS アプリケーション (WordPress、Drupal、Joomla など) を実行している顧客は、FTP スクリプトと PHP スクリプトに同等のアクセスを許可する FastCGI を好む傾向がよく見られます。つまり、CMS 内のファイルのアップロードと編集機能は、特別なことをしなくても広告どおりに動作します。ファイル権限の設定

これは、非常に複雑で奥深い問題の概要にすぎません。決定をお知らせするために主な考慮事項をいくつか紹介しましたが、各サイトはそれぞれ異なるため、さらに詳しいガイダンスが必要な場合はサポート チームにお問い合わせください。 Plesk を使用して PHP ハンドラーを変更する方法の詳細については、付随するナレッジベース記事を参照してください。

翻訳:http://blog.layershift.com/what-php-mode-apache-vs-cgi-vs-fastcgi

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/1066213.html技術記事 PHP モードはどれですか? Apache vs CGI vs FastCGI、apachefastcgi どの PHP モードですか? Apache vs CGI vs FastCGI 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)

Laravelでフラッシュセッションデータを使用します Laravelでフラッシュセッションデータを使用します Mar 12, 2025 pm 05:08 PM

Laravelは、直感的なフラッシュメソッドを使用して、一時的なセッションデータの処理を簡素化します。これは、アプリケーション内に簡単なメッセージ、アラート、または通知を表示するのに最適です。 データは、デフォルトで次の要求のためにのみ持続します。 $リクエスト -

PHPのカール:REST APIでPHPカール拡張機能を使用する方法 PHPのカール:REST APIでPHPカール拡張機能を使用する方法 Mar 14, 2025 am 11:42 AM

PHPクライアントURL(CURL)拡張機能は、開発者にとって強力なツールであり、リモートサーバーやREST APIとのシームレスな対話を可能にします。尊敬されるマルチプロトコルファイル転送ライブラリであるLibcurlを活用することにより、PHP Curlは効率的なexecuを促進します

Laravelテストでの簡略化されたHTTP応答のモッキング Laravelテストでの簡略化されたHTTP応答のモッキング Mar 12, 2025 pm 05:09 PM

Laravelは簡潔なHTTP応答シミュレーション構文を提供し、HTTP相互作用テストを簡素化します。このアプローチは、テストシミュレーションをより直感的にしながら、コード冗長性を大幅に削減します。 基本的な実装は、さまざまな応答タイプのショートカットを提供します。 Illuminate \ support \ facades \ httpを使用します。 http :: fake([[ 'google.com' => 'hello world'、 'github.com' => ['foo' => 'bar']、 'forge.laravel.com' =>

Codecanyonで12の最高のPHPチャットスクリプト Codecanyonで12の最高のPHPチャットスクリプト Mar 13, 2025 pm 12:08 PM

顧客の最も差し迫った問題にリアルタイムでインスタントソリューションを提供したいですか? ライブチャットを使用すると、顧客とのリアルタイムな会話を行い、すぐに問題を解決できます。それはあなたがあなたのカスタムにより速いサービスを提供することを可能にします

PHPにおける後期静的結合の概念を説明します。 PHPにおける後期静的結合の概念を説明します。 Mar 21, 2025 pm 01:33 PM

記事では、PHP 5.3で導入されたPHPの後期静的結合(LSB)について説明し、より柔軟な継承を求める静的メソッドコールのランタイム解像度を可能にします。 LSBの実用的なアプリケーションと潜在的なパフォーマ

フレームワークのカスタマイズ/拡張:カスタム機能を追加する方法。 フレームワークのカスタマイズ/拡張:カスタム機能を追加する方法。 Mar 28, 2025 pm 05:12 PM

この記事では、フレームワークにカスタム機能を追加し、アーキテクチャの理解、拡張ポイントの識別、統合とデバッグのベストプラクティスに焦点を当てています。

PHPのCurlライブラリを使用してJSONデータを含むPOSTリクエストを送信する方法は? PHPのCurlライブラリを使用してJSONデータを含むPOSTリクエストを送信する方法は? Apr 01, 2025 pm 03:12 PM

PHP開発でPHPのCurlライブラリを使用してJSONデータを送信すると、外部APIと対話する必要があることがよくあります。一般的な方法の1つは、Curlライブラリを使用して投稿を送信することです。

See all articles