1.PHP的简介:
PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)
是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点
PHP的大版本主要分三支:PHP4/PHP5/PHP6
其中,PHP4由于太古老、对OO支持不力已基本被淘汰,请无视PHP4。
PHP6由于基本没有生产线上的应用,还基本只是一款概念产品,很多功能已在PHP5.3.3上实现,
所以也不详述,请无视PHP6。
PHP5的版本主要分四支:PHP5.2之前的版本、PHP5.2.X、PHP5.3和日前的PHP5.4。
2.PHP5各版本之间的特点:
PHP5.2 以前:autoload, PDO 和 MySQLi, 类型约束
PHP5.2:JSON 支持
PHP5.3:弃用的功能,匿名函数,新增魔术方法,命名空间,后期静态绑定,Heredoc 和 Nowdoc, const, 三元运算符,Phar
PHP5.4:Short Open Tag, 数组简写形式,Traits, 内置 Web 服务器,细节修改
PHP5.5:yield, list() 用于 foreach, 细节修改
PHP5.6: 常量增强,可变函数参数,命名空间增强
3.PHP5版本中Zend的支持
PHP 5.2.x 或者是 5.2 之前支持 Zend Optimizer
PHP 5.3.x 支持zend guard loader 不支持 Zend Optimizer
3.PHP中VC6与VC9的区别
如果你在apache1或者apache2下使用PHP,你应该选择VC6的版本
如果你在IIS下使用PHP应该选择VC9的版本,VC6的版本使用visual studio6编译,
VC9使用Visual Studio 2008编译,并且改进了性能和稳定性。
VC9版本的PHP需要你安装Microsoft 2008 C++ Runtime。不要在apache下使用VC9的版本。
4.PHP中TS和NTS的区别
TS指Thread Safety,即线程安全,一般在IIS以ISAPI方式加载的时候选择这个版本。
NTS即None-Thread Safe,即非线程安全 一般以fast cgi方式运行的时候选择这个版本,具有更好的性能
5.FastCGi和ISAPI的选择
ISAPI运行最好是线程安全的模式下
如果在IIS下以CGI方式运行PHP会非常慢,这是由于CGI模式是建立在多进程的基础之上的,而非多线程。
一般我们会把PHP配置成以ISAPI的方式来运行,ISAPI是多线程的方式,这样就快多了
FastCGI用(NTS,非线程安全)的版本能够更好的提高效率
为了兼顾IIS下PHP的效率和安全,微软给出了FastCGI的解决方案。
FastCGI可以让PHP的进程重复利用而不是每一个新的请求就重开一个进程。
同时FastCGI也可以允许几个进程同时执行。这样既解决了CGI进程模式消耗太大的问题,
又利用上了CGI进程模式不存在线程安全问题的优势。
因此,如果是使用ISAPI的方式来运行PHP就必须用Thread Safe(线程安全)的版本;
而用FastCGI模式运行PHP的话就没有必要用线程安全检查了,
用None Thread Safe(NTS,非线程安全)的版本能够更好的提高效率。