PHP バージョンの選択 5.2.17 5.3.27 5.3.28 5.4 5.5 互換性問題の分析
編集者: 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 でもサポートできます (discusX3 はサポートしていません)。最もまれなことは、パフォーマンスが低いことです。これは実際には簡単ではありません。) このバージョンを使用することをお勧めします。
5.3.28 (推奨)
このバージョンの名前は 5 で始まりますが、多くの人はこれが PHP6.0 バージョンの始まりであると考えており、パフォーマンスが向上しているためです。多くの API は変更により 5.2 との互換性があまり良くありません。一部のオープン ソース ソフトウェアは 5.2 ~ 5.3 と互換性があると主張していますが、多くは単に 5.2 のみを諦めているようです。 5.3以降をサポートします。 Drupal7 の場合は、サポートが非常に優れているため、このバージョンを使用することを強くお勧めします。このバージョンはDrupal8でも使用でき、サポートもかなり充実しています。このバージョンは広く使用されており、パフォーマンスと互換性のバランスが取れています。
5.4 (慎重に推奨)
5.4 は現在比較的完成に近づいており、安定性とパフォーマンスも良好です。将来のアップグレードの重要なバージョンとなり、次のバージョンでサポートされます。 Drupal7.X それはまずまずですが、サードパーティのモジュールはまだ完全ではありません。後でアップグレードするのが面倒な場合は、このバージョンを 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) を選択します。私は選択しませんはい、シン兄弟は正しいです。
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 を使用してください。スレッド セーフ (NTS、非スレッド セーフ) バージョンを使用すると、効率が向上します。
64 ビットと 32 ビット
システムが 64 ビットの場合は 64 ビットを選択し、32 ビットの場合は 32 ビットを選択してください。 、シン兄さん。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック

Laravelは、直感的なフラッシュメソッドを使用して、一時的なセッションデータの処理を簡素化します。これは、アプリケーション内に簡単なメッセージ、アラート、または通知を表示するのに最適です。 データは、デフォルトで次の要求のためにのみ持続します。 $リクエスト -

PHPロギングは、Webアプリケーションの監視とデバッグ、および重要なイベント、エラー、ランタイムの動作をキャプチャするために不可欠です。システムのパフォーマンスに関する貴重な洞察を提供し、問題の特定に役立ち、より速いトラブルシューティングをサポートします

PHPクライアントURL(CURL)拡張機能は、開発者にとって強力なツールであり、リモートサーバーやREST APIとのシームレスな対話を可能にします。尊敬されるマルチプロトコルファイル転送ライブラリであるLibcurlを活用することにより、PHP Curlは効率的なexecuを促進します

Laravelは簡潔なHTTP応答シミュレーション構文を提供し、HTTP相互作用テストを簡素化します。このアプローチは、テストシミュレーションをより直感的にしながら、コード冗長性を大幅に削減します。 基本的な実装は、さまざまな応答タイプのショートカットを提供します。 Illuminate \ support \ facades \ httpを使用します。 http :: fake([[ 'google.com' => 'hello world'、 'github.com' => ['foo' => 'bar']、 'forge.laravel.com' =>

顧客の最も差し迫った問題にリアルタイムでインスタントソリューションを提供したいですか? ライブチャットを使用すると、顧客とのリアルタイムな会話を行い、すぐに問題を解決できます。それはあなたがあなたのカスタムにより速いサービスを提供することを可能にします

記事では、PHP 5.3で導入されたPHPの後期静的結合(LSB)について説明し、より柔軟な継承を求める静的メソッドコールのランタイム解像度を可能にします。 LSBの実用的なアプリケーションと潜在的なパフォーマ

この記事では、フレームワークにカスタム機能を追加し、アーキテクチャの理解、拡張ポイントの識別、統合とデバッグのベストプラクティスに焦点を当てています。
