PHP のバージョンは、非スレッド セーフとスレッド セーフに分かれています。非スレッド セーフは非スレッド セーフを指し、スレッド セーフはスレッド セーフを指します。違いは何ですか?どのように選ぶか?
非スレッド セーフとスレッド セーフの違い
ts(スレッド セーフ) つまり、スレッド セーフティ。複数のスレッドからアクセスされる場合、ロック機構が採用されます。スレッドがこのクラスの特定のデータにアクセスすると、そのスレッドは保護され、スレッドが終了するまで他のスレッドはアクセスできません。読み取りが終了しました。他のスレッドでも使用できます。データの不整合やデータ汚染はありません。php が ISAPI モードでロードされる場合は、このバージョンを選択してください。php が ISAPI モードでロードされる場合は、このバージョンを選択してください。
nts(None - スレッド セーフ)つまり、非スレッド セーフ、つまり、データ アクセス保護を提供しません。複数のスレッドがデータを次々に変更し、その結果データがダーティになる可能性があります。 php が高速 CGI モードで実行されている場合はこれを選択してください。バージョン、パフォーマンスが向上します。
ISAPI (Internet Server Application Programming Interface)、 は通常、によってロードされることを指します。 http サーバーは、Microsoft が提案したサーバー モジュールの形式で実行されるため、Apache や iis などの Win プラットフォームでのみ実行できます (高速な CGI はより安定して動作すると言われています)。一方、Linux 上の php は、 Apache モジュールまたは php-fpm で実行されます。
cgi(Common Gateway Interface): HTTP サーバーがプログラムまたは他のマシンのプログラムと「通信」するためのツール。サーバーと通信するバックエンド言語です。現時点では、php は独立したプログラムとして実行されています。メモリを消費するのが特徴です。
fast cgi. は長寿命 CGI であり、常時実行可能であり、起動されていれば実行する必要はありません。毎回フォークするのに時間がかかります。このメソッドは、言語に依存しない、スケーラブルなアーキテクチャの CGI オープン拡張機能です。その主な動作は、CGI インタプリタ プロセスをメモリ内に保持することで、より高いパフォーマンスを得ることができます。
ISAPI の実行メソッドは、DLL ダイナミック ライブラリの形式で使用され、ユーザーからの要求後に実行できます。ユーザーの要求を処理してもすぐに消えるわけではないため、スレッド安全性チェックが必要です。これにより、プログラムの実行効率が向上します。そのため、ISAPI を使用して PHP を実行している場合は、ThreadSafe バージョン を選択することをお勧めします。
FastCGI の実行メソッドは単一のスレッドを使用して操作を実行するため、スレッド セーフティ チェックを実行する必要はありません。スレッド セーフティ チェックの保護を削除すると実行効率が向上するため、FastCGI を使用して PHP を実行する場合、 非スレッドセーフバージョンを選択することをお勧めします。
それでは、現在の PHP が非スレッド セーフ (非スレッド セーフ) かスレッド セーフ (スレッド セーフ) かを確認するにはどうすればよいでしょうか?
は非常に簡単です。phpinfo()
を出力し、PHP バージョン情報の Thread Safety
オプションを確認します。このオプションは enable
です。は Thread Safe
(スレッド セーフ) バージョン、それ以外の場合は None Thread Safe
(非スレッド セーフ) バージョンです。
以上がPHP バージョンの非スレッド セーフとスレッド セーフを選択するにはどうすればよいですか?違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。