PHP モードはどれですか? Apache vs CGI vs FastCGI、apachefastcgi_PHP教程
どの 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 (上記) よりもセキュリティが優れています。
短所
- アプリケーションを実行する従来の方法。
- パフォーマンスが非常に悪いです。
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

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック









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

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

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

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

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

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

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