ホームページ PHPフレームワーク Workerman PHP のいくつかの動作モードについての労働者の話

PHP のいくつかの動作モードについての労働者の話

Nov 26, 2019 pm 02:04 PM
workerman

workerman の使用法チュートリアル の次のコラムでは、PHP のいくつかの動作モードを紹介します。困っている友人の役に立てば幸いです。

PHP のいくつかの動作モードについての労働者の話

workman プログラムはコマンド ライン モードである php-cli モードで実行する必要があることがわかっています。これを理解する必要があります。現在、PHPにはCGI、FastCGI、CLI、Webモジュールモードの4つの動作モードがあると言われています。

CGI

正式名称は「Common Gateway Interface」で、クライアントが Web ブラウザから Web サーバー上で実行されているプログラムに接続できるようになります。リクエスト データは、クライアントとプログラムの間でデータを送信するための標準を記述します。また、CGI はどの言語にも依存しないため、言語に標準の入力、出力、および環境変数がある限り、どの言語でも作成できます。 php、perl、tclなど。

CGIはユーザーリクエストごとにメンテナンス用のサブプロセスを開く必要があるため、数が多いとパフォーマンス上の問題が発生し、近年ではほとんど使用されていません。

FastCGI

CGI のアップグレード版である FastCGI は、長寿命 CGI のようなもので、常に実行できます。 php.ini を解析し、すべての DLL 拡張機能をリロードし、すべてのデータ構造を毎回再初期化するには時間がかかります。

PHP は管理に PHP-FPM (FastCGI Process Manager)、正式名は PHP FastCGI Process Manager を使用します。

FastCGI の動作原理

FastCGI プロセス マネージャーは、Web サーバーの起動時にロードされます。

FastCGI プロセス マネージャーは、自身を初期化し、複数の CGI 解釈を開始します。サーバー プロセスは Web サーバーからの接続を待ちます;

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

FastCGI サブプロセスは処理を完了すると、同じ接続から標準出力とエラー情報を Web サーバーに返します。 FastCGI 子プロセスが接続を閉じると、リクエストが処理されます。次に、FastCGI 子プロセスは、FastCGI プロセス マネージャーからの次の接続を待機して処理します。

通常の CGI モードでは、これで終了となり、次回から最初からやり直す必要があります。しかし、FastCGI では、これらすべてがプロセスの開始時に 1 回だけ行われます。さらに、永続的なデータベース接続が機能するという利点もあります。

Cli

PHP-CLI は PHP Command Line Interface の略で、PHP をコマンドライン上で実行するためのインターフェースであり、PHP とは異なります。 Webサーバー上で動作する環境(PHP-CGIなど)。

Linux では、PHP がインストールした拡張機能を確認するために「php -m」をよく使用します。これは、PHP コマンドライン実行モードです。 php -h と入力すると、使用可能な特定のコマンドを確認できます。

php-cli モードでは、workerman と同じように、php ファイルを直接起動して実行できます

php index.php start
ログイン後にコピー

php-cli には、php の実行タイムアウトに関する記述がないことに注意してください。モード。

モジュールの読み込み

は通常、Apache 用です。このように、共通の本質は、LoadModule を使用して phpX_module をロードすること、つまり php を Apache として使用することです。走る。 Web 経由で php ファイルにアクセスすると、Apache は phpX_module を呼び出して php コードを解析します。では、phpX_module はどのようにしてデータを php パーサーに渡し、php コードを解析するのでしょうか?答えはサピを通じてです。

したがって、Apache が php を呼び出す上記のプロセスは次のとおりです:

apache -> httpd -> php5_module -> sapi -> php
ログイン後にコピー

Apache はリクエストを受信するたびに、php に接続するプロセスを生成し、sapi 経由でリクエストを完了します。ユーザーや同時ユーザーが多すぎると、サーバーがそれに耐えられなくなることは想像できます。

また、mod_php を apache にコンパイルすると、問題が発生したときに PHP の問題なのか、apache の問題なのかを判断することが困難になります。

概要

高パフォーマンスの PHP WEB サーバーを構築したい場合、現時点での最良の方法は Apache/Nginx FastCGI PHP-FPM (PHP-CGI) 方式です。 、モジュールの読み込みや CGI メソッドはもう使用しないでください

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

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Workerman ドキュメントにファイルのアップロードとダウンロードを実装する Workerman ドキュメントにファイルのアップロードとダウンロードを実装する Nov 08, 2023 pm 06:02 PM

Workerman ドキュメントでファイルのアップロードとダウンロードを実装するには、特定のコード サンプルが必要です はじめに: Workerman は、シンプル、効率的、使いやすい高性能 PHP 非同期ネットワーク通信フレームワークです。実際の開発では、ファイルのアップロードとダウンロードが一般的な機能要件となりますが、この記事では、Workerman フレームワークを使用してファイルのアップロードとダウンロードを実装する方法と、具体的なコード例を紹介します。 1. ファイル アップロード: ファイル アップロードとは、ローカル コンピューター上のファイルをサーバーに転送する操作を指します。以下が使用されます

Workerman ドキュメントの基本的な使用方法を実装する方法 Workerman ドキュメントの基本的な使用方法を実装する方法 Nov 08, 2023 am 11:46 AM

Workerman ドキュメントの基本的な使用方法の実装方法の紹介: Workerman は、開発者が同時実行性の高いネットワーク アプリケーションを簡単に構築できるようにする高性能 PHP 開発フレームワークです。この記事では、インストールと構成、サービスとリスニング ポートの作成、クライアント リクエストの処理など、Workerman の基本的な使用方法を紹介します。そして、対応するコード例を示します。 1. Workerman のインストールと構成 コマンド ラインに次のコマンドを入力して、Workerman をインストールします。

スウールとワーカーマンはどちらが良いですか? スウールとワーカーマンはどちらが良いですか? Apr 09, 2024 pm 07:00 PM

Swoole と Workerman はどちらも高性能の PHP サーバー フレームワークです。 Swoole は、非同期処理、優れたパフォーマンス、スケーラビリティで知られており、多数の同時リクエストと高スループットを処理する必要があるプロジェクトに適しています。 Workerman は、使いやすさや同時実行量が少ないプロジェクトに適した直感的な API を備え、非同期モードと同期モードの両方の柔軟性を提供します。

Workerman 開発: UDP プロトコルに基づいてリアルタイム ビデオ通話を実装する方法 Workerman 開発: UDP プロトコルに基づいてリアルタイム ビデオ通話を実装する方法 Nov 08, 2023 am 08:03 AM

Workerman 開発: UDP プロトコルに基づくリアルタイム ビデオ通話 概要: この記事では、Workerman フレームワークを使用して、UDP プロトコルに基づくリアルタイム ビデオ通話機能を実装する方法を紹介します。 UDP プロトコルの特性を深く理解し、コード例を通じて、シンプルだが完全なリアルタイム ビデオ通話アプリケーションを構築する方法を示します。はじめに: ネットワーク通信において、リアルタイムのビデオ通話は非常に重要な機能です。従来の TCP プロトコルでは、リアルタイム性の高いビデオ通話を実装する場合、伝送遅延などの問題が発生する可能性があります。そしてUDP

Workerman を使用して高可用性負荷分散システムを構築する方法 Workerman を使用して高可用性負荷分散システムを構築する方法 Nov 07, 2023 pm 01:16 PM

Workerman を使用して高可用性ロード バランシング システムを構築する方法には、特定のコード サンプルが必要です。現代のテクノロジーの分野では、インターネットの急速な発展に伴い、大量の同時リクエストを処理する必要がある Web サイトやアプリケーションがますます増えています。高可用性と高性能を実現するために、負荷分散システムは不可欠なコンポーネントの 1 つになっています。この記事では、PHP オープン ソース フレームワーク Workerman を使用して高可用性負荷分散システムを構築する方法を紹介し、具体的なコード例を示します。 1. ワーカーマンワークの紹介

Workerman ドキュメントにタイマー機能を実装する方法 Workerman ドキュメントにタイマー機能を実装する方法 Nov 08, 2023 pm 05:06 PM

Workerman ドキュメントにタイマー機能を実装する方法 Workerman は、タイマー機能を含む豊富な機能を提供する強力な PHP 非同期ネットワーク通信フレームワークです。タイマーを使用して、指定された時間間隔内でコードを実行します。これは、スケジュールされたタスクやポーリングなどのアプリケーション シナリオに非常に適しています。次に、Workerman でタイマー機能を実装する方法と具体的なコード例を詳しく紹介します。ステップ 1: Workerman をインストールする まず、Worker をインストールする必要があります

Workermanドキュメントにリバースプロキシ機能を実装する方法 Workermanドキュメントにリバースプロキシ機能を実装する方法 Nov 08, 2023 pm 03:46 PM

Workerman ドキュメントでリバース プロキシ機能を実装するには、具体的なコード例が必要です はじめに: Workerman は、豊富な機能と強力なパフォーマンスを提供する高性能 PHP マルチプロセス ネットワーク通信フレームワークであり、Web のリアルタイム通信や長時間の通信で広く使用されています。接続、サービス シナリオ。このうち、Workermanはリバースプロキシ機能もサポートしており、サーバーが外部サービスを提供する際の負荷分散や静的リソースのキャッシュを実現できます。この記事ではWorkermanを利用してリバースプロキシ機能を実装する方法を紹介します。

Workerman ドキュメントでの TCP/UDP 通信の実装方法 Workerman ドキュメントでの TCP/UDP 通信の実装方法 Nov 08, 2023 am 09:17 AM

Workerman ドキュメントで TCP/UDP 通信を実装する方法には、特定のコード サンプルが必要です。Workerman は、TCP および UDP 通信の実装に広く使用されている高性能 PHP 非同期イベント ドリブン フレームワークです。この記事では、Workerman を使用して TCP および UDP ベースの通信を実装する方法を紹介し、対応するコード例を示します。 1. TCP 通信用の TCP サーバーを作成します。Workerman を使用して TCP サーバーを作成するのは非常に簡単です。次のコードを記述するだけです: <?ph

See all articles