ホームページ  >  記事  >  バックエンド開発  >  PHP バージョンの選択 5.2.17 5.3.27 5.3.28 5.4 5.5 互換性問題分析、5.2.175.3.27_PHP チュートリアル

PHP バージョンの選択 5.2.17 5.3.27 5.3.28 5.4 5.5 互換性問題分析、5.2.175.3.27_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-12 08:55:35999ブラウズ

PHP バージョンの選択 5.2.17 5.3.27 5.3.28 5.4 5.5 互換性問題分析、5.2.175.3.27

編集者: Maizi

PHP のバージョンを選択するとき、誰もが混乱するはずです。バージョンが多すぎてどれを選択すればよいでしょうか?

質問:

Windows Server 2008 r2 を使用する新しいサーバーを購入しました。 PHP 5.4環境を設定します。
しかし、開発前は 2003 と PHP バージョン 5.2 を使用していましたが、それを新しいサーバーに移植した場合、プログラムの実行に影響はありますか?それとも他に注意する必要がある問題があるのでしょうか?
APIバージョン

PHP は大きなバージョンに対して下位互換性のあるアップグレード方法を採用しています。つまり、5.5 は 5.1 ~ 5.4 と互換性があります。そうは言っても、互換性は実際には楽観的ではなく、PHP 公式から良い解決策を期待するべきではありません。 2013 年 9 月現在のバージョンは 5.2.17 5.3.27 5.4.17 5.5.3

5.2.17
このバージョンは、現在、Drupal7.23、Joomla2.5 などのほとんどのオープンソース ソフトウェア、および dedecms5.7、discuzX3 などの国内ソフトウェアで最も広くサポートされているバージョンと言えます。 5.2 のサポートでは、特別な要件がない場合、このバージョンをインストールするのが最も手間がかからず、手間も省けますが、長期的には最終的には放棄される可能性があります。現在、多くのホスティング会社は人件費を節約するために PHP のバージョンをアップグレードするのが面倒で、とにかく基本的にサポートしています。 (ここに文章を挿入します。より多くのインストール環境に対応するために、国産ソフトウェアは非常に意図的に作られています。PHP5.1 でもサポートできます (discuzX3 はサポートしていません)。最もまれなことは、パフォーマンスが低いことです。これは実際には簡単ではありません。) このバージョンを使用することをお勧めします。

5.3.28 (推奨)
このバージョンの名前は 5 で始まりますが、多くの人はこれが PHP 6.0 バージョンの始まりであると考えており、パフォーマンスが向上し、多くの API が変更されたため、5.2 との互換性はあまり良くないと主張しています。 5.2 ~ 5.3 と互換性がありますが、多くの問題があるようで、多くの人は単純に 5.2 を諦めています。たとえば、Joomla3 は 5.3 以降しかサポートしていません。 Drupal7 の場合は、サポートが非常に優れているため、このバージョンを使用することを強くお勧めします。このバージョンはDrupal8でも使用でき、サポートもかなり充実しています。このバージョンは広く使用されており、パフォーマンスと互換性のバランスが取れています。

5.4 (慎重に推奨)
5.4 は現時点ではほぼ完成しており、Drupal7 の安定性とパフォーマンスも良好です。後でアップグレードするのが面倒な場合は、このバージョンを 1 ステップでインストールできます。

5.5
5.3以降、今後のバージョンは基本的にパフォーマンスの向上に重点を置き、関数などは下位互換性を持たせていきます。 5.5 からは、より強力なパフォーマンスを備えた 64 ビット バージョンがあるようです。私は試していないので、あえてコメントしません。

概要
オープンソース ソフトウェアが PHP5.3 のインストールを推奨している場合は、5.5 などではなく 5.3 を使用する必要があります。どうせ互換性があり、パフォーマンスが向上する可能性があるため、新しいものを使用するのはいかがでしょうか。 ?そうは言っても、オープンソースソフトウェアは通常、開発時には特定の環境で開発されますが、どんなに互換性が優れていても、予期せぬ事態が発生することはご存知のとおりです(チームがどれほど強力であっても、それは不可能です)。すべての関数 API で互換性テストを実施すると、非常にひどい作業負荷になります!)、特定の環境でのみテストおよび最適化され、互換性の問題があることがわかっていても、チームはそれを新しいバージョンと互換性を持たせるために変更しません。硬いというわけではありませんが、安全性と安定性を考慮したものです。オープンソースの雰囲気では、 「最新が最善」ではなく、「十分であることが最善」という意識を持つべきです。 たとえば、Joomla 3.1 は 5.4 ~ 5.5 ではうまく動作せず、インストールさえ成功できません。しかし、Drupal は (このマシン上では) 5.5.3 で正常に動作しますが、これは特殊なケースだと思います。しかし、動作中に予期せぬエラーが発生したようです。バージョンの問題ではないことを願います。

非スレッドセーフまたはスレッドセーフ

Apache は一般的に非スレッドセーフを選択し、IIS は後者 (FAST-CGI) を選択します。Xin 氏の言うことは正しいです。

Bangkejia 編集者は次のように付け加えます。2003 システムでは、通常、読み込みに isapi を使用します。2008 以降のシステムでは、fast-cgi を使用します。

コードをコピーします コードは次のとおりです:
TS は、スレッド セーフを指します。通常、このバージョンは、IIS が ISAPI モードでロードされるときに選択されます。
NTS は、None-Thread Safe の略で、高速 CGI モードで実行する場合に選択され、パフォーマンスが向上します。

2000 年 10 月 20 日にリリースされた最初の Windows バージョンの PHP 3.0.17 以降、すべてのバージョンがスレッドセーフになっています。これは、マルチプロセス作業方式を使用する Linux/Unix システムとは異なり、Windows システムはマルチプロセス方式を使用するためです。プロセスの動作方法。 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 プロセス モードにはスレッド セーフの問題がないという事実も利用されます。

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

64 ビットと 32 ビットの選択

システムが 64 ビットの場合は、64 ビットを選択してください。システムが 32 ビットの場合は、32 ビットを選択してください。説明はありません。

Bangkejia エディターの追加: 多くの場合、iis にロードする必要があるすべてのソフトウェアが 64 ビットであることは保証できず、一部のソフトウェアは 32 ビット形式と互換性がなければなりません。

元の Web サイトのアドレスは次のとおりです: http://cnmaizi.com/tech/php-version.html

www.bkjia.com本当http://www.bkjia.com/PHPjc/1117030.html技術記事 PHP バージョンの選択 5.2.17 5.3.27 5.3.28 5.4 5.5 の互換性問題の分析、5.2.175.3.27 編集: Maizi の誰もが、PHP バージョンを選択するときに混乱するはずです。非常に多くのバージョンがあるため、どれを選択すればよいでしょうか。 .
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。