最近、多くの PHP プログラマーが PHP バージョンの知識を明確に理解していないことに気づきました。私は同様の記事をたくさん読みましたが、インターネット上の結論はすべて十分に明確で包括的ではないと感じています。ここでは、最も完全な任意の説明をします。
この記事では、VC6 と VC9 の違いと選択肢、スレッド セーフと非スレッド セーフ、Apache モジュールと fastcgi について説明します。
PHP には 3 つの主要なバージョンがあります: PHP4/PHP5/PHP6
そのうち、PHP4 は古すぎて OO のサポートが不十分なため、基本的に削除されました。PHP4 は無視してください。
PHP6 には基本的に生産ライン用のアプリケーションはなく、多くの機能は PHP5.3.3 で実装されているため、詳細については無視してください。
PHP5 には 4 つの主なバージョンがあります: PHP5.2 より前のバージョン、PHP5.2.X、PHP5.3、そして最近リリースされた PHP5.4。
それでは、自分のプロジェクトに適したバージョンをどのように選択すればよいのでしょうか?
PHP5.2 より前のバージョンは、機能上の欠陥やバグがあるため検討する価値がありません。 PHP5.4 はまだベータ版であり、安定版ではありません。PHP5.4 は無視してください。
主流の PHP プログラムは PHP5.2.X との互換性が最も高く、バージョンがアップグレードされるたびにセキュリティと安定性が向上するため、最新バージョンを選択する必要があります。現在、PHP5.2シリーズの最新バージョンはPHP5.2.17です。
自分で製品を開発して使用する場合、PHP5.3 はいくつかの点で利点があり、安定性に優れており、組み込みの php-fpm など、PHP5.2 にはない多くの機能が追加されています。完全なガベージ コレクション アルゴリズム、名前空間の導入、sqlite3 サポートなどを備えた PHP5.3.3 は、展開プロジェクトで検討する価値のあるバージョンです。
バージョン番号の違いに加えて、同じバージョン番号の PHP バージョンも異なるため、PHP 拡張機能を選択する際には注意が必要です。
インストール バージョン: 実行可能な MSI 形式のインストール パッケージ。
ZIP版:解凍してご利用ください。インストール版との違いはありません。 ZIP バージョンを選択することをお勧めします。
デバッグ バージョン: 無視してください。
VC6 と VC9
VC6 または VC9 のバージョンの選択については、PHP の公式 Web サイトに詳細な説明があります。原文は次のとおりです。
どのバージョンを選択しますか?
の場合。 apache.org の Apache 1 または Apache2 で PHP を使用する場合は、VC6 バージョンの PHP を使用する必要があります
IIS で PHP を使用している場合は、VC9 バージョンの PHP を使用する必要があります
VC6 バージョンは従来の Visual Studio でコンパイルされます6 コンパイラ
VC9 バージョンは、Visual Studio 2008 コンパイラでコンパイルされ、パフォーマンスと安定性が向上しています。VC9 バージョンでは、Microsoft 2008 C++ Runtime (x86) または Microsoft 2008 C++ Runtime (x64) がインストールされている必要があります。 >apache.org バイナリでは VC9 バージョンを使用しないでください
どのバージョンを選択すればよいですか?
apache1 または apache2 で PHP を使用する場合は、VC6 バージョンを選択する必要があります
IIS で PHP を使用する場合は、VC9 バージョンを選択する必要があります
VC6 バージョンは Visual Studio6 でコンパイルされます
VC9 は使用しますVisual Studio 2008 でコンパイルされ、パフォーマンスと安定性が向上しました。 VC9 バージョンの PHP では、Microsoft 2008 C++ ランタイムをインストールする必要があります
apache
TS および NTS
では VC9 バージョンを使用しないでください。TS はスレッド セーフを指し、通常、IIS の場合に選択されます。このバージョンでは ISAPI モードでロードされます。
NTS は、None-Thread Safe の略です。通常、高速 CGI モードで実行する場合は、このバージョンが選択され、パフォーマンスが向上します。
2000 年 10 月 20 日にリリースされた最初の Windows バージョンの PHP 3.0.17 以降、すべてのバージョンがスレッドセーフになっています。これは、Windows システムが Linux/Unix システムとは異なるマルチプロセス作業方法を使用しているためです。マルチスレッド作業方式を採用しています。 IIS で CGI モードで PHP を実行すると、CGI モードがマルチスレッドではなくマルチプロセスに基づいているため、非常に遅くなります。通常、PHP は ISAPI モードで実行されるように構成されます。ISAPI はマルチスレッド モードであり、より高速です。しかし、問題があります。一般的に使用されている PHP 拡張機能の多くは、Linux/Unix のマルチプロセスの考え方に基づいて開発されています。これらの拡張機能を ISAPI モードで実行すると、問題が発生し、IIS がダウンします。したがって、CGI モードは IIS で PHP を実行する最も安全な方法ですが、CGI モードでは HTTP リクエストごとに PHP 環境全体をリロードおよびアンロードする必要があり、その消費量は膨大です。
IIS での PHP の効率とセキュリティを考慮するために、Microsoft は FastCGI ソリューションを提供しました。 FastCGI を使用すると、新しいリクエストごとにプロセスを再度開くのではなく、PHP プロセスを再利用できます。同時に、FastCGI では複数のプロセスを同時に実行することもできます。これにより、CGI プロセス モードの過剰な消費の問題が解決されるだけでなく、CGI プロセス モードにはスレッド セーフの問題がないという事実も利用されます。 この記事へのリンク http://www.cxybl.com/html/wlbc/Php/20130326/37401.html