ホームページ >バックエンド開発 >PHPチュートリアル >[PHP の専門用語 + 概念の説明]

[PHP の専門用語 + 概念の説明]

WBOY
WBOYオリジナル
2016-06-20 12:46:49994ブラウズ

PHP 弱い型指定言語、大文字と小文字を区別する、スクリプト言語 (インタープリタ、テキスト ファイル実行)、サーバー側。

OOP [オブジェクト指向プログラミング]

SAPI [サーバー アプリケーション プログラミング インターフェイス]

リンク

サーバー側アプリケーション プログラミング ポート。 PHP が他のアプリケーションと対話するためのインターフェイスです。PHP スクリプトは、Web サーバー経由、コマンド ライン上で直接実行する、または他のプログラムに埋め込むなど、さまざまな方法で実行できます。
SAPI は、外部通信用のインターフェイスを提供します。一般的な SAPI には、cgi、fast-cgi、cli、isapi、apache モジュール DLL

CGI
CGI が共通です。ゲートウェイインターフェースとは、簡単に言えば、WebページとWEBサーバーの実行プログラムを繋ぎ、HTMLで受け取った命令をサーバーの実行プログラムに渡すプログラムのことです。サーバーによる HTML ページへのプログラムの実行。 CGI は非常にクロスプラットフォームであり、ほぼすべてのオペレーティング システムに実装できます。
CGI メソッドが接続リクエスト (ユーザーリクエスト) に遭遇すると、まず CGI サブプロセスを作成し、CGI プロセスをアクティブ化し、次にリクエストを処理し、処理後にサブプロセスを終了する必要があります。これはフォークして実行するパターンです。したがって、CGI を使用するサーバーには、接続要求と同じ数の CGI サブプロセスが存在することになり、サブプロセスの繰り返しロードが CGI パフォーマンスを低下させる主な原因となります。ユーザーリクエストの数が非常に多い場合、メモリやCPU時間などのシステムリソースが大量に占有され、パフォーマンスが低下します。

FastCGI
fast-cgi は、cgi のアップグレード版のようなもので、有効化されている限り常に実行できます。毎回フォークするのに時間はかかりません。 PHP は管理に PHP-FPM (FastCGI Process Manager)、つまり PHP FastCGI Process Manager の正式名を使用します。

FastCGI の仕組み


  1. Web サーバーの起動時に FastCGI プロセス マネージャー (IIS ISAPI または Apache モジュール) をロードします)

  2. FastCGI プロセス マネージャーは自身を初期化し、複数の CGI インタプリタ プロセス (複数の php-cgi が表示されます) を開始し、Web サーバーからの接続を待ちます。

  3. クライアント要求が Web サーバーに到達すると、FastCGI プロセス マネージャーが CGI インタープリターを選択して接続します。 Web サーバーは、CGI 環境変数と標準入力を FastCGI サブプロセス php-cgi に送信します。

  4. FastCGI サブプロセスは処理が完了すると、同じ接続から Web サーバーに標準出力とエラー情報を返します。 FastCGI 子プロセスが接続を閉じると、リクエストが処理されます。次に、FastCGI 子プロセスは、(Web サーバーで実行されている) FastCGI プロセス マネージャーからの次の接続を待機して処理します。 CGI モードでは、php-cgi はこの時点で終了します。


上記の場合、CGI が通常どれほど遅いか想像できるでしょう。 PHP へのすべての Web リクエストは、php.ini を再解析し、すべての拡張機能を再ロードし、すべてのデータ構造を再初期化する必要があります。 FastCGI では、これらすべてがプロセスの開始時に 1 回だけ行われます。さらに、永続的なデータベース接続が機能するという利点もあります。

APACHE2HANDLER
PHP は、Apache サーバーがシステムを起動した後、メモリ内に常駐する複数のプロセス コピーを事前に生成し、リクエストが発生するとこれらを解放します。コピーはすぐに使用されるため、子プロセスの生成による遅延は発生しません。これらのサーバー コピーは、HTTP 要求の処理後すぐには終了せず、次の要求を待ってコンピューター内に留まります。クライアントのブラウザ要求に対する応答が速くなり、パフォーマンスが向上します。
Apache モジュールの DLL:
この動作モードは、Windows 環境で Apache サーバーを使用するときによく使用されるモードです。モジュラー (DLL) では、PHP が Web とともに起動されます。サーバーを起動して実行します。 (PHP の動作効率を高速化するために、CGI をベースに Apache を拡張したものです)

ISAPI:
ISAPI は、Microsoft が提供する Internet Server Application Program Interface です。インターネット サービス用の API インターフェイスのセット。ISAPI DLL は、ユーザー リクエストによってアクティブ化された後、メモリ内に常駐し、別のユーザー リクエストを処理する関数を 1 つの DLL に設定することもできます。と WWW サーバーが同じプロセス内にあるため、CGI に比べて効率が大幅に高くなります。

cli:[php CLI モードの概要]
cli は、よく使用する php のコマンドライン実行モードですが、気づかないかもしれません (例: we Linux 上では、PHP がインストールした拡張機能を調べるために「php -m」をよく使用します。これは、PHP コマンドライン実行モードです。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。