php用哪个版本
超过75%的网站使用了PHP作为开发语言,wordpress,phpmyadmin和其他一些开源项目的盛行,带来了一大批的长尾用户。然而,他们一般安装之后却很少升级。下图是目前PHP的使用统计。
惊人的是,此图的左半部分表示已经不被支持的PHP版本。PHP 52早在2011年1月已经不再维护。这并不意味着你就不能使用它,但是这意味着某些安全更新,你就无法跟进了。一些发行版将尝试修复一些BUG,但你的PHP版本似乎有点乏善可陈,因为,你正在使用的是2006年的过时技术。
该从哪里开始
已经没有人选择PHP 52版本了,但这些事情已经发生了,但我不是说我写这篇博客来吐槽什么,更不是说给你一些升级的指南。通常他们使用的都是一些2006开始的主机空间,他们有一个“长期支持”的版本,来避免使用更新的版本,或者他们目前还没有升级的打算。又或者,理由真的很多。然而,好东西在新版的PHP等着您。
PHP 53 加入了很多有用的OOP特性!例如:匿名函数,SPL扩展不仅仅是迭代器,神话般的DateTime扩展都已经集成在PHP 53里面。还加入极其重要的E_DEPRECATED的错误报告标志。它会提醒您现在用的那些特性,将在下一版本无法使用。如果您已经在使用PHP 53,那么您往后的升级道路将会更加顺畅。如果您有线上程序运行在低版本,我不建议您升级。
PHP 54则进行了一系列的优化,它具有更快的执行效率和更少的内存占用。以下是基准测试的结果。
不管你使用使用到traits特性,PHP 54提高了程序性能,并降低了硬件成本。所以,我建议您使用开源软件的时候要保持升级。
PHP 55 还在测试当中,不适用于生产环境。自PHP 53之后,升级的风险和改动都会大大降低。
下面是麦子同学整理的文章
大家在选择PHP版本时一定很困惑,有这么多版本究竟选那个呢?
问题:
我们现在新买了个服务器,用的是windows server 2008 r2。配置php 54的环境。
但我们之前开发的用2003,php是用52版本的,移植到新服务器,程序运行会有影响吗?或者我还需要注意那些问题?
API版本
PHP采用大版本向下兼容的升级方式,也就是说55兼容51-54,话虽如此,实际上兼容性并不乐观,大家也不要指望PHP官方会给出什么好的解决办法。现在2013年9月,版本有5217 5327 5417 5535217
这一版本可以说是支持最广泛的版本了,现在还有绝大部分开源软件使用该版本,例如Drupal723,Joomla25,国内绝大多数软件:dedecms57,discuzX3等等最新版还在支持52,如果没特别要求,安装这一版本是最省心省力的,但长远来看可能终要被抛弃。现在许许多多的主机商为了省人力成本也懒得去升级PHP版本,反正基本上都支持。(这里插一句,现在国内软件为了兼容更多的安装环境,可谓用心良苦,甚至PHP51也能支持( discuzX3 不支持),最难得的是性能竟然也没落后多少,能做到如些极致真心不容易!)Drupal6建议使用该版本。
5328(推荐)
这个版本虽然名称上是5开头,但很多人认为是PHP60版本的开始,性能有所提升,而且因为许多API都发生了变化,对52的兼容不太好,虽然有一部分开源软件声称能兼容52-53,但问题好像也不少,许多索性就放弃52了,例如Joomla3只支持53以上。而对于Drupal7强烈建议使用该版本,支持相当好。而对于Drupal8也可以使用该版本,支持也相当不错。该版本使用范围非常广,在兼顾性能和兼容性之间做出一个不错的平衡点。
54(轻轻推荐)
54基本上已经接近完整体了,现时比较完善,稳定性和性能也不错,未来升级的重点版本,Drupal7X对其支持尚可,但第三方模块还不太完美。如果懒得以后升级,可以一步到位安装该版本。
55
从53开始,以后版本基本上都是主打性能上的提升,函数什么的都能向后兼容。55开始好像有了64位版本,性能更加强劲,我没试过,不敢发表言论。
总结
如果开源软件说建议安装PHP53,那你就老老实实用53,别用55什么的,你可能认为反正都能兼容,性能可能更好,为什么不用新的呢?话是这么说,但你知道开源软件在开发的时候一般都是在特定的环境开发,就算兼容再好也会有想不到的意外(再强大的队伍也不可能对所有函数API进行兼容测试,那是相当可怕的工作量!),它只会在特定的环境下进行测试和优化,而且就算知道兼容有问题,团队也不会去为了兼容更高版本去修改,不是他们死板,而是为了安全和稳定来考虑的。在开源氛围下,我们应该有个意识就是“够用就是最好”,而不是“最新是最好”。举个列子,Joomla31在54-55都运行不良,甚至安装不能成功。但Drupal却在553下也运行正常(本机),我想是个别案例吧?但好像运行中出现过意料之外的错误,不知道是不是版本的问题,希望不是。
None-thread-safe or thread-safe
Apache 一般选 none-thread-safe,IIS选后者(FAST-CGI),我就不解释了,信哥就没错。
TS指Thread Safety,即线程安全,一般在IIS以ISAPI方式加载的时候选择这个版本。
NTS即None-Thread Safe,一般以fast cgi方式运行的时候选择这个版本,具有更好的性能。
从2000年10月20日发布的第一个Windows版的PHP3017开始的都是线程安全的版本,这是由于与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位,不解释,信哥。
未来
说实话,未来是属于那些使用PHP54及以上的人。保持升级,定期跟踪语言的新特性和进展是我们日常工作的一部分。如果您已经落后了,那么我强烈建议您开始做升级计划,升级到一个比较新的版本。努力是值得的,毕竟程序是长年累月运行的。
国内的dedecms,phpcms等,国外的有Joomla和Drupal
网站搭建推荐你使用功能强大的PHPWAMP软件。
32位和64位的PHP版本随意切换,700个PHP版本随意切换。
网站搭建相关教程如下。。。。。。。
首先来看WAMP是什么意思?
Windows下的Apache+MySQL+PHP,称为WAMP。
属于WAMP环境的集成软件有很多,比如wampserver、apmserv、xampp、PHPWAMP等等,这些WAMP环境各有特点。
你可以用PHPWAMP绿色集成环境(适合在本地,也适合在服务器上面运行)
本地搭建:http://jingyanbaiducom/article/1974b289838fb1f4b1f7748dhtml
服务器搭建的话,请在百度搜这个标题
“PHP绿色集成环境在云服务器上的应用,PHPWAMP在服务器上搭建网站案例”
集成环境是否适合在服务器上,可以看此文介绍的内容:
http://jingyanbaiducom/article/e4511cf34ccdc92b845eafd3html
支持所有Windows系统,目前最新的Windows10也没问题。
绿色集成环境PHPWAMP特点如下:
1、真正纯绿色,集成VC不需要单独安装,下载解压即可使用。
2、能同时运行多个PHP版本,随意自定义设置PHP版本,共700多个PHP版本随意切换。
3、拥有开发模式与运营模式,集成组件未阉割,切换运营模式,即可直接运行在服务器端
4、拥有“强制修改任意环境的Mysql数据库密码”功能,忘记数据库密码可以一键强制修改。
5、运行中的网站可瞬间强制删除,也能一键干掉电脑里全部的php环境,方便重装
6、强制干掉一切环境阻碍,一键去除任意web服务器站点域名的非80端口。
7、集成网页加密等实用工具,不同PHP版本配置区分,日志分割处理等多种实用功能。
8、多功能站点管理,自动定时重启服务器,自动定时重启Apache、mysql等相关服务。
PHPWAMP自带php52、php53、php54、php55、php56、php7这6个默认版本,拥有共生模式(与其他环境同时使用),单身狗霸体模式,强行打通阻碍运行网站。
这篇教程文章里提供700多个PHP版本下载。(700个PHP版本一键切换)
百度搜索这个文章标题:
PHP集成环境如何自定义PHP版本,同时运行多个php版本一键开启模块。
搜到的文章中,在文章的附件里有提供PHP历史版本下载,差不多700多个PHP版本。
PHP各个版本之间的区别
一、PHP 52、53、54、55、56 版本区别对比以及新功能详解
PHP52 以前:autoload, PDO 和 MySQLi, 类型约束
PHP52:JSON 支持
PHP53:弃用的功能,匿名函数,新增魔术方法,命名空间,后期静态绑定,Heredoc 和 Nowdoc, const, 三元运算符,Phar
PHP54:Short Open Tag, 数组简写形式,Traits, 内置 Web 服务器,细节修改
PHP55:yield, list() 用于 foreach, 细节修改
PHP56: 常量增强,可变函数参数,命名空间增强
1php52以前
11 autoload的使用
当在代码中使用一个未定义的类的时候,该函数就会被调用,现在已经不再使用了,因为一个项目中只能有一个__autoload();现在使用spl_autoload_register();
12 PDO和MiSQLi的使用
13 类型约束。
通过类型约束可以限制参数的类型,不过这个机制不完善。
2 php52
21 JSON的支持
增加了json_encode(),json_decode()等函数
3php53
PHP53 算是一个非常大的更新,新增了大量新特征,同时也做了一些不向下兼容的修改
31 弃用的功能
32 匿名函数
$func=function($arg){
echo $arg;
}
$func('hello');32 新增了魔术方法 __invoke(),__callStatic();
随着匿名函数的加入,PHP 引入了一个新的魔术方法 __invoke()
该魔术方法会在将一个对象作为函数调用时被调用:
class A
{
public function __invoke($str)
{
print "A::__invoke(): {$str}";
}
}
$a = new A;
$a("Hello World");
输出毫无疑问是: A::__invoke(): Hello World
__callStatic() 则会在调用一个不存在的静态方法时被调用。33命名空间
<php
// 命名空间的分隔符是反斜杠,该声明语句必须在文件第一行。
// 命名空间中可以包含任意代码,但只有 类, 函数, 常量 受命名空间影响。
namespace XXOO\Test;
// 该类的完整限定名是 \XXOO\Test\A , 其中第一个反斜杠表示全局命名空间。
class A{}
// 你还可以在已经文件中定义第二个命名空间,接下来的代码将都位于 \Other\Test2
namespace Other\Test2;
// 实例化来自其他命名空间的对象:
$a = new \XXOO\Test\A;
class B{}
// 你还可以用花括号定义第三个命名空间
namespace Other {
// 实例化来自子命名空间的对象:
$b = new Test2\B;
// 导入来自其他命名空间的名称,并重命名,
// 注意只能导入类,不能用于函数和常量。
use \XXOO\Test\A as ClassA
}34后期静态绑定
#self 的语义本来就是“当前类”
class A
{
static public function callFuncXXOO()
{
print static::funcXXOO();
}
//
}二、PHP7新特性
/bin/php -v #查看PHP版本
/bin/php -m #查看安装的模块1、变量类型
function test(int $a,string $b,array $c):int{
}2、错误异常
try/catch3、zval使用栈内存
节约了内存分配
php5
zvalval;make_std_zval(val);
php7 zval val;推荐教程:PHP视频教程
PHP5和PHP7之间的主要区别是什么?其实PHP7的功能足以进行高级Web应用程序开发,并利用最新资源来促进您的开发。关于PHP57,PHP6或PHP7的讨论很多。PHP7背后的主要原因是PHP6从未达到稳定版本,也有许多关于PHP6的资源。因此,PHP社区选择了PHP56来直接开发PHP7。一、性能:您可能听说过FacebookHHVM,从而为基于PHP的应用程序提供最佳性能。因此,PHPNG(PHP-Next-Gen)最初的想法是提供FacebookHHVM提供的最佳性能。性能改进源由ZEND领导,旨在加速基于PHP的应用程序。根据Zend的性能改进是巨大的!您可以在此处找到针对HHVM的一些基准。无需更改任何代码,仅升级到PHP7即可为您带来巨大的性能。弃用许多冗余功能也是PHP7性能改进的一部分。二、标量类型提示和返回类型:虽然许多开发人员希望能够声明函数或方法的返回类型。默认情况下,PHP7将允许开发人员声明预期返回值的函数是哪种类型。它几乎与下面的类型提示参数相似。例:上面的示例类似于FacebookHACK语法。在此示例中,bool表示该函数将仅返回布尔值。您还可以在这里查看RFC中的许多示例。这使开发人员可以设置要传递或返回的期望字符串,int,float或boolean。三、附加功能:除了上述更改之外,PHP7内核中还添加了一些新功能。我在下面列出了一些主要更改。抽象语法树:_核心上的另一大变化。但是最有可能对开发人员可见。它使解析php代码更容易,错误更少,并且可以在将来构建更好的东西。Closure::call():_这是添加到核心的新方法。它允许在调用时进行变量绑定而不是预绑定。空合并运算符:_合并运算符或添加到核心,如果存在则返回第一个操作数或为null。四、结论:我个人认为PHP版本的最新变化使PHP成为更加成熟的语言。但是对于所有PHP开发人员来说,使用最新的PHP版本构建出色的企业级应用程序都是一个好消息。
这个得根据你的需求,如果只是普通的个人站或者企业站,php52就可以了!
比如阿里云的空间基本上都是52版本的,可以选择53,54,55版本,更高的就得买服务器自己安装了!
如果你只是在本机上测试的话,建议安装php52就可以了!
现在的一键安装PHP环境的软件有很多。我个人在用phpnow,因为简单、简洁!
PHP的CMS太多了
跟你推荐一个很不错的系统 织梦系统DEDECMS
这个你应该听说过 现在是V57版本 很好很强大
其他的还有PHP168 帝国等
不过个人建议dede 我很多网站用的都是dede
0条评论