ホームページ  >  記事  >  バックエンド開発  >  PHPでのNTSは何を意味しますか

PHPでのNTSは何を意味しますか

青灯夜游
青灯夜游オリジナル
2021-09-02 18:59:346850ブラウズ

PHP では、nts は「非スレッド セーフティ」を指します。これは、データ アクセス保護を提供せず、実行中にスレッド (スレッド) セキュリティ チェックを実行しないことを意味します。このようにして、複数のスレッドが変更される可能性があります。データを次々と作成すると、結果としてダーティ データが生成されます。

PHPでのNTSは何を意味しますか

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

nts フルネームは 1 スレッド セーフですつまり、非スレッド セキュリティとは、データ アクセス保護が提供されず、実行中にスレッド セキュリティ チェックが実行されないことを意味します。複数のスレッドが連続してデータを変更し、その結果ダーティ データが発生する可能性があります。

非スレッド セーフがあるため、スレッド セーフ (スレッド セーフ) もあります。

スレッド セーフとは、スレッドの安全性を意味します。スレッド セーフ チェックは、新しい要件が発生したときに新しいスレッドを開始する CGI 実行方法がシステム リソースを使い果たすことを防ぐために、実行中に実行されます。

PHP スレッド セーフティと非スレッド セーフティの違い:

理由: Linux/Unix システムはマルチプロセス作業メソッドを使用するのに対し、Windows システムはマルチプロセス作業メソッドを使用します。スレッド化の作業方法。

つまり、Linux システムにおけるタスク スケジューリングの基本単位はプロセスであり、Windows システムにおけるタスク スケジューリングの基本単位はスレッドです。

通常、PHP は次のように構成されます。 ISAPI の方法で実行されます。ISAPI はマルチスレッドのアプローチの方がはるかに高速です。

しかし、問題があります。一般的に使用される PHP 拡張機能の多くは、Linux/Unix のマルチプロセスの考え方に基づいて開発されています。これらの拡張機能を ISAPI モードで実行すると、問題が発生し、IIS がダウンします。

したがって、CGI モードは IIS で PHP を実行する最も安全な方法ですが、CGI モードでは HTTP リクエストごとに PHP 環境全体をリロードおよびアンロードする必要があり、その消費量は膨大です。

IIS での PHP の効率とセキュリティを考慮するために、Microsoft は FastCGI ソリューションを提供しています。

FastCGI を使用すると、新しいリクエストごとにプロセスを再度開くのではなく、PHP プロセスを再利用できます。同時に、FastCGI では複数のプロセスを同時に実行することもできます。これにより、CGI プロセス モードの過剰な消費の問題が解決されるだけでなく、CGI プロセス モードにはスレッド セーフの問題がないという事実も利用されます。

したがって:

ISAPI を使用して PHP を実行する場合は、スレッド セーフ (スレッド セーフ) バージョンを使用する必要があります。

ただし、FastCGI モードを使用して PHP を実行する場合は、スレッド セーフ チェックを使用する必要があります。None Thread Safe (NTS、非スレッド セーフ) バージョンを使用すると、効率が向上します。

どちらを使用するか (PHP スレッドセーフ、PHP 非スレッドセーフ)、どのように選択すればよいですか?

windos サーバー:

1. PHP IIS の場合は、次を選択してください: PHP 非スレッド セーフ (ノン スレッド セーフ (NTS));

2 PHP Apache の場合は、選択してください: PHP スレッド セーフ (TS)

linux サーバー:

Linux サーバーの下の PHP には、PHP スレッド セーフまたは非スレッド セーフはありません。バージョンの特徴;

推奨学習: 「PHP ビデオ チュートリアル

以上がPHPでのNTSは何を意味しますかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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