ホームページ  >  記事  >  バックエンド開発  >  PHP モードはどれですか? Apache vs CGI vs FastCGI、apachefastcgi_PHP教程

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

WBOY
WBOYオリジナル
2016-07-12 09:06:081224ブラウズ

どの 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 までご連絡ください。