ホームページ バックエンド開発 PHPチュートリアル PHP版本的选择5.2.17 5.3.27 5.3.28 5.4 5.5兼容性问题分析_php文摘

PHP版本的选择5.2.17 5.3.27 5.3.28 5.4 5.5兼容性问题分析_php文摘

May 16, 2016 pm 07:54 PM
PHPのバージョン

编辑整理:麦子

大家在选择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不支持),最难得的是性能竟然也没落后多少,能做到如些极致真心不容易!)Drupal6建议使用该版本。

5.3.28(推荐)
这个版本虽然名称上是5开头,但很多人认为是PHP6.0版本的开始,性能有所提升,而且因为许多API都发生了变化,对5.2的兼容不太好,虽然有一部分开源软件声称能兼容5.2-5.3,但问题好像也不少,许多索性就放弃5.2了,例如Joomla3只支持5.3以上。而对于Drupal7强烈建议使用该版本,支持相当好。而对于Drupal8也可以使用该版本,支持也相当不错。该版本使用范围非常广,在兼顾性能和兼容性之间做出一个不错的平衡点。

5.4(轻轻推荐)
5.4基本上已经接近完整体了,现时比较完善,稳定性和性能也不错,未来升级的重点版本,Drupal7.X对其支持尚可,但第三方模块还不太完美。如果懒得以后升级,可以一步到位安装该版本。

5.5
从5.3开始,以后版本基本上都是主打性能上的提升,函数什么的都能向后兼容。5.5开始好像有了64位版本,性能更加强劲,我没试过,不敢发表言论。

总结
如果开源软件说建议安装PHP5.3,那你就老老实实用5.3,别用5.5什么的,你可能认为反正都能兼容,性能可能更好,为什么不用新的呢?话是这么说,但你知道开源软件在开发的时候一般都是在特定的环境开发,就算兼容再好也会有想不到的意外(再强大的队伍也不可能对所有函数API进行兼容测试,那是相当可怕的工作量!),它只会在特定的环境下进行测试和优化,而且就算知道兼容有问题,团队也不会去为了兼容更高版本去修改,不是他们死板,而是为了安全和稳定来考虑的。在开源氛围下,我们应该有个意识就是“够用就是最好”,而不是“最新是最好”。举个列子,Joomla3.1在5.4-5.5都运行不良,甚至安装不能成功。但Drupal却在5.5.3下也运行正常(本机),我想是个别案例吧?但好像运行中出现过意料之外的错误,不知道是不是版本的问题,希望不是。

None-thread-safe or thread-safe

Apache 一般选 none-thread-safe,IIS选后者(FAST-CGI),我就不解释了,信哥就没错。

脚本之家小编补充一下: 2003系统中,我们一般用isapi加载,如果是2008及以上系统用fast-cgi方式。

复制代码 代码如下:

TS指Thread Safety,即线程安全,一般在IIS以ISAPI方式加载的时候选择这个版本。
NTS即None-Thread Safe,一般以fast cgi方式运行的时候选择这个版本,具有更好的性能。

从2000年10月20日发布的第一个Windows版的PHP3.0.17开始的都是线程安全的版本,这是由于与Linux/Unix系统是采用多进程的工作方式不同的是Windows系统是采用多线程的工作方式。如果在IIS下以CGI方式运行PHP会非常慢,这是由于CGI模式是建立在多进程的基础之上的,而非多线程。一般我们会把PHP配置成以ISAPI的方式来运行,ISAPI是多线程的方式,这样就快多了。但存在一个问题,很多常用的PHP扩展是以Linux/Unix的多进程思想来开发的,这些扩展在ISAPI的方式运行时就会出错搞垮IIS。因此在IIS下CGI模式才是 PHP运行的最安全方式,但CGI模式对于每个HTTP请求都需要重新加载和卸载整个PHP环境,其消耗是巨大的。

为了兼顾IIS下PHP的效率和安全,微软给出了FastCGI的解决方案。FastCGI可以让PHP的进程重复利用而不是每一个新的请求就重开一个进程。同时FastCGI也可以允许几个进程同时执行。这样既解决了CGI进程模式消耗太大的问题,又利用上了CGI进程模式不存在线程安全问题的优势。

因此,如果是使用ISAPI的方式来运行PHP就必须用Thread Safe(线程安全)的版本;而用FastCGI模式运行PHP的话就没有必要用线程安全检查了,用None Thread Safe(NTS,非线程安全)的版本能够更好的提高效率。

64位和32位的选择问题

你的系统是64位就选64位,是32位就选32位,不解释,信哥。

脚本之家小编补充:很多情况下我们不能保证我们所有需要iis中加载的软件都是64位的,有些软件还必须用32格式兼容跑。

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

PHPバージョン開発履歴(1995年~2022年) PHPバージョン開発履歴(1995年~2022年) Jun 01, 2020 pm 01:59 PM

PHP の学習者および開発者として、その歴史を理解できないわけがありません。次の PHP 中国語 Web サイトは、PHP 愛好家が PHP のさまざまな歴史的バージョンを確認するのに役立ちます。

Pagoda パネルのチュートリアル: PHP バージョン切り替えの簡単なガイド Pagoda パネルのチュートリアル: PHP バージョン切り替えの簡単なガイド Mar 05, 2024 am 09:27 AM

Pagoda パネルは、ユーザーが Web サイト、データベース、FTP、その他のサービスを簡単に管理できるようにする、強力で使いやすいサーバー管理パネルです。 Pagoda パネルを使用する過程で、Web サイトのさまざまなニーズに適応するために PHP バージョンを切り替える必要がある場合があります。この記事では、PHP バージョンの切り替えに関する簡単なガイドを提供し、読者が PHP バージョンの切り替え操作をすばやく完了できるように具体的なコード例を示します。まず、Pagoda パネルにログインし、Web サイト設定ページに入る必要があります。左側のナビゲーション バーで [Web サイト] オプションを見つけて、 をクリックします。

Pagoda パネル操作ガイド: PHP バージョン切り替えのヒントの共有 Pagoda パネル操作ガイド: PHP バージョン切り替えのヒントの共有 Mar 04, 2024 am 10:42 AM

BTPanel は、ユーザーがサーバー、Web サイト、データベース、その他のサービスを簡単に管理できるようにする、強力で使いやすいサーバー管理パネルです。 Web サイトの開発者または管理者として、Pagoda パネルで PHP バージョンを切り替えるスキルを習得することは非常に重要です。この記事では、Pagoda パネルで PHP バージョンを操作および切り替える方法を共有し、読者がこのスキルをよりよく習得できるように具体的なコード例を示します。 1. Pagoda パネルにログインし、ブラウザにサーバーの IP アドレスまたはドメイン名を入力し、Pagoda を追加します

PHPのバージョンアップによるエラーの対処方法 PHPのバージョンアップによるエラーの対処方法 May 11, 2023 am 08:48 AM

PHP を使用して Web サイトやアプリケーションを開発する場合、各バージョンには新機能が追加され、既知の問題が修正されるため、バージョンのアップグレードは必要な作業です。ただし、新しいバージョンでは古いバージョンの機能や構文がサポートされなくなる可能性があるため、PHP バージョンのアップグレードによって新たなバグが発生する可能性もあります。この記事では、PHPのバージョンアップによるエラーが発生した場合に、アプリケーションを正常に動作させるための対処方法を紹介します。 1. アプリケーションとサーバーをバックアップする PHP のバージョンをアップグレードする前に、アプリケーションとサーバーをバックアップする必要があります。バックアップ アプリケーションは次のとおりです。

PHP 関数のバージョン更新は開発に​​どのような影響を与えますか? PHP 関数のバージョン更新は開発に​​どのような影響を与えますか? Apr 18, 2024 pm 02:54 PM

PHP 関数のバージョン更新の影響: 新機能の影響: 複雑なタスクの開発を容易にするために新機能が導入されています。バグの影響を修正: 関数の動作を改善し、コードの安定性を向上させます。動作変更の影響: 最も破壊的であり、関数を使用するコードの更新が必要です。ベスト プラクティス: テスト環境で更新をテストし、対話型コードを確認し、影響を受ける依存関係を更新します。

PHP7 バージョンの新機能とミニプログラム開発への影響 PHP7 バージョンの新機能とミニプログラム開発への影響 Jul 04, 2023 pm 06:15 PM

PHP7 バージョンの新機能とミニプログラム開発への影響 テクノロジーの継続的な発展に伴い、インターネット業界も日々変化しています。近年、モバイルアプリケーション開発においてミニプログラムが注目を集めています。同時に、PHP7バージョンのリリースも開発者の注目を集めています。この記事では、PHP7 バージョンの新機能を調査し、小規模プログラムの開発に対するその影響を分析します。 1. PHP7 バージョンの新機能 PHP 言語のメジャー アップデートとして、PHP7 バージョンでは多くの新機能とパフォーマンスの向上が実現しました。ここではいくつかの重要な新機能を紹介します: セックス

EclipseでPHPのバージョンを更新する方法 EclipseでPHPのバージョンを更新する方法 Mar 28, 2024 pm 09:54 PM

Eclipse は、さまざまなプログラミング言語でプロジェクトを開発するために使用できる、広く使用されている統合開発環境 (IDE) です。 Eclipse を使用して PHP プロジェクトを開発する場合、新機能に適応したりバグを修正したりするために PHP バージョンを更新することが必要になる場合があります。この記事では、Eclipse で PHP バージョンを更新する方法と、具体的なコード例を説明します。 1. PHPのバージョンアップの準備 PHPのバージョンアップを行う前に、EclipseとPHPの開発環境がインストールされていることを確認する必要があります。加えて、

仮想マシンの PHP バージョンを迅速に変更するためのヒント 仮想マシンの PHP バージョンを迅速に変更するためのヒント Feb 27, 2024 pm 03:39 PM

仮想マシンの PHP バージョンをすばやく変更するためのヒント。Web 開発テクノロジの継続的な開発に伴い、人気のあるバックエンド プログラミング言語としての PHP は常に更新され、反復されています。プロジェクトごとに、それをサポートするために異なるバージョンの PHP が必要になる場合があります。仮想マシン環境において、PHP バージョンを迅速かつ便利に変更する方法は、多くの開発者の関心事となっています。この記事では、開発者が仮想マシンの PHP バージョンを迅速に変更するのに役立ついくつかのヒントと具体的なコード例を紹介します。 1. 仮想マシン内で複数のバージョンを共存させることで、複数のバージョンを共存させることができます。

See all articles