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,非线程安全)的版本能够更好的提高效率。


随机推荐

  1. ASP.NET优化

    源地址:http://www.cnblogs.com/wangjingblogs/archive/2013/02/27/2934706.html http://jingyan.baidu.com/ar ...

  2. spring应用于web项目中

    目标: 在webapp启动的时候取到spring的applicationContext对象,并把applicationContext对象存到servletContext里面,在需要的时候直接从serv ...

  3. Java 线程间通讯(管道流方式)

    一.管道流是JAVA中线程通讯的常用方式之一,基本流程如下: 1)创建管道输出流PipedOutputStream pos和管道输入流PipedInputStream pis 2)将pos和pis匹配 ...

  4. gulp构建前端开发环境

    1.gulp环境的安装 首先确保你已经正确安装了nodejs环境.然后以全局方式安装gulp: npm install -g gulp 2.建立文件夹 mkdir item 3.初始化项目: npm ...

  5. 荣耀6 Plus 的屏幕大小pt计算方法

    使用 gomobile 检测 华为荣耀 6 Plus 的屏幕大小为:  1080*1776 px ;   162pt*266.40pt ;  每pt像素个数:6.666665个. 而实际的数据是: 主 ...

  6. [SQL]insert、update 表触发器应用的demo

    --创建测试表 create table student ( stu_id int ,libraryCardNo varchar() ) create table borrowbook ( b_id ...

  7. Need help with design ReadOnlyListBase (Insert, Update, Delete from ReadOnlyListBase)

    原文地址:http://forums.lhotka.net/forums/p/3166/21214.aspx My task is: For select client, I have a modal ...

  8. HDU1001 关于累加公式的隐性类型转换

    HDU 1001就卡了. 受到小白的启发遇到这样的循环题目直接转化成公式求解以优化时间.但是!我就是过不了! 问题代码: #include<stdio.h> int main() { in ...

  9. HashCode equals

    HashCode: hashcode就是一个签名.当两个对象的hashcode一样时,两个对象就有可能一样.如果不一样的话两个对象就肯定不一样.一般用hashcode来进行比较两个东西是不是一样的,可 ...

  10. What is Split Brain in Oracle Clusterware and Real Application Cluster (文档 ID 1425586.1)

    In this Document   Purpose   Scope   Details   1. Clusterware layer   2. Real Application Cluster (d ...