PHP 開発のコンテキストでは、次のような PHP バイナリのバリエーションに遭遇することがあります。 「スレッドセーフ」と「非スレッドセーフ」。この記事では、これらの用語を詳しく掘り下げ、その違いと PHP との関連性について説明します。
スレッド セーフティとは、複数のスレッド (同時実行) が行われたときにプログラムが正しく動作する能力を指します。実行) 同時にアクセスします。 PHP では、Web サーバーが複数の受信 HTTP リクエストを並行して処理するときに同時実行が発生することがあります。
Apache HTTP などの一般的な Web サーバーは、同時実行を処理するためのさまざまなモデルを提供しています。ワーカー モデルのプリフォーク モジュール (MPM) はスレッドを使用し、プリフォーク MPM はプロセスを使用します。
「mod_php」で Apache HTTP を使用する場合、PHP はWeb サーバーのマルチスレッド環境。このような統合では、PHP は互換性を確保するためにスレッドセーフである必要があります。
この要件にもかかわらず、PHP のスレッド セーフは依然として議論の多い問題です。一般に、可能であればマルチスレッド環境で PHP を使用しないことをお勧めします。
マルチスレッド環境で PHP を使用する場合は、スレッド環境では、スレッドセーフ バージョンと非スレッドセーフ バージョンの選択は、特定のニーズによって異なります。非スレッドセーフ バージョンでは、パフォーマンスや安定性が向上する場合があります。
非 Apache 環境 (nginx、lighttpd など) では、PHP のスレッド セーフは問題になりません。さらに、PHP のコマンドライン バージョンはスレッド セーフの影響を受けません。
PHP のスレッド セーフは、「mod_php」で Apache HTTP を使用する開発者にとって重要な考慮事項です。ただし、PHP のスレッド セーフについては議論があり、マルチスレッド環境では PHP を慎重に使用することをお勧めします。
以上がスレッドセーフ PHP と非スレッドセーフ PHP: それが問題になるのはどのような場合ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。