ホームページ >バックエンド開発 >PHPの問題 >PHP にはいくつの動作モードがありますか?

PHP にはいくつの動作モードがありますか?

醉折花枝作酒筹
醉折花枝作酒筹オリジナル
2021-04-19 10:32:514952ブラウズ

実行モード: 1. CGI プロトコル モード、サーバーは特定のプロトコルを通じてプログラムと通信します; 2. 「fast-cgi」プロトコル モード、電源がオンになった後は常にリクエストを処理できます; 3. モジュールモード、リクエストを受信し、「mod_php」モジュール処理を呼び出します。 4. 「php-cli」モード、「php xx.php」と入力してコードを実行します。

このチュートリアルの動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューター

1: CGI プロトコル モード

cgi モード Common Gateway Interface (Common Gateway Interface) により、Web サーバーが特定のプロトコルを介してアプリケーションと通信できるようになります。平たく言えば、CGI は Web ページと実行可能プログラムを接続するブリッジのようなものです。 WEB サーバー。接続すると、HTML で受け取った命令をサーバー実行プログラムに渡し、サーバー実行プログラムを HTML ページに返します。 CGI は優れたクロスプラットフォーム パフォーマンスを備えており、ほぼすべてのオペレーティング システムに実装できます。
呼び出しの原則は大まかに次のとおりです。 ユーザーのリクエスト -> Web サーバーがリクエストを受信 -> プログラムを呼び出すサブプロセス/実行プログラムをフォーク -> プログラムがコンテンツを返す/プログラムの呼び出しが終了 -> Webサーバーがコンテンツを受信→ユーザーに返す ユーザーリクエストごとにフォークしてプロセスを作成する必要があるため、一度プログラムを呼び出してからプロセスを破棄するため、パフォーマンスが低くなります。

2: fast-cgi プロトコル モード

fast-cgicgi モードのアップグレード バージョンです。 like 常駐CGIはオンにしておけば毎回フォークする手間が省け、常にリクエストを処理できるのでプロセスを終了する必要がなくなりました。
呼び出し原理はおそらく です: Web サーバーの fast-cgi プロセス マネージャーの初期化 -> ユーザー リクエストのフォーク前処理 -> Web サーバーがリクエストを受信 -> 高速にハンドリング - CGI プロセス管理 サーバー -> fast-CGI プロセス管理領域がそれを受信し、アイドル状態の fast-cgi プロセスの 1 つで処理します -> 処理が完了し、fast-cgi プロセスはアイドル状態になり、次のリクエストを待ちます- >Web サーバーがコンテンツを受信します -> ユーザーに戻ります。

3: モジュール モード

Apache php を実行すると、デフォルトでモジュール モードが使用され、php を Apache モジュールとして使用し、Apache の起動時に開始されます。リクエストは、mod_php モジュールを呼び出すことによって直接処理されます。

モジュールモードは mod_php5 モジュールという形で統合されていますが、このときの mod_php5 モジュールの機能は、Apache から渡された PHP ファイルリクエストを受け取り、それを処理し、処理結果を Apache に返すことです。 Apache が起動する前に設定ファイルで PHP モジュール (mod_php5) を設定すると、PHP モジュールは apache2 の ap_hook_post_config フックを登録し、Apache が PHP ファイルに対するリクエストの受け入れを開始したときにこのモジュールを起動します。

4: php-cli モード

php-cli モードはコマンド ライン モードに属し、php を学習し始めて wamp を始めたばかりの多くの開発者に適しています。 wnmp. 最も馴染みのない動作モード。このモードでは、他のプログラムを使用する必要はありません。php xx.php と直接入力して、php コードを実行できます。コマンド ライン モードと通常の Web モードの明らかな違いは次のとおりです:

  • タイムアウト期間はありません
  • バッファリングはデフォルトでオフになります
  • STDIN および STDOUT の標準入出力/エラーを使用します
  • echo var_dump、phpinfo およびその他の出力は直接出力されますコンソールへ
  • 使えるクラス・機能の違い
  • php.ini設定の違い

推奨:「2021年PHP面接質問まとめ(コレクション)》《php ビデオ チュートリアル#》

以上がPHP にはいくつの動作モードがありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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