php各个模式、版本的区别

本来想写一下关于windows2003及2008下配置php环境相关内容,一想到php的众多版本还不是特别清楚,各个版本下有细分各种模式、运行方式等,于是到php的官网www.php.net看了看,由于英文较差,加上百度只看出大概,先整理一下:

1.版本号    php全名是PHP:Hypertext preprocessor(递归缩写) 超文本预处理器,最初为personal home page。从最初发布personal home page tools第一个版本,称为php1.0,至今主流版本为5.X.X,最新版本为7.0.5(截止2016/04/11 09:55)。

5.2.X与5.3.X有较大区别,从5.3.1之后php不再支持isapi模式运行。

5.2.17是个经典版本。

6.0版本没有发布,不知道为什么,然后5.6实现了很多6.0的功能。

也没有5.7,直接到了7.0。

2.线程版本    php在windows下分为TS版和NTS版,TS即Thread safe(线程安全),NTS即None Thread safe(非线程安全);若iis以isapi模式运行必须使用TS版,若iis以FastCGI模式运行必须使用NTS版。linux中只有NTS版。

3.x86、x64的区别,x86运行在32及64位系统下都可以(运行在64位系统下注意开启兼容32位),x64必须运行在64位系统下。

4.windows下一般分为安装包及压缩包两种版本;linux下均为压缩包,一般分为bz2、gz、xz等。

5.运行模式    php下有五大运行模式分别为CGI、Fast-CGI、isapi、apache、CLI。

(1)CGI(通用网关接口/Common Gateway Interface)

早期的接口模式,和web服务器运行在不同进程下,因此处理用户请求时会占用大量系统资源,效率比较低。

(2)Fast-CGI可伸缩架构的CGI开放扩展,将CGI解释器放在内存中以获得较高性能,较CGI模式而言效率得到提升。

linux下以php-fpm服务运行。

(3)ISAPI(Internet Server Application Program Interface)微软提供的面向web服务器的api接口,dll程序和web服务器处于同一进程下,效率较CGI高。

(4)apache

模块模式,主要是windows下运行apache时使用的,随web服务器一起启动,也是在CGI基础上进行了扩展,加快了处理效率。

(5)CLI

命令行模式接口,CLI脚本适用于所有php

6.vc6、vc9、vc11、vc14

不同visual studio 版本编译的

早些php版本vc9不支持apache

新版本php没有了vc6,貌似是从5.4.5以后。

时间: 2024-08-26 13:38:45

php各个模式、版本的区别的相关文章

MVC2 ,MVC3 ,MVC4,MVC5的区别,EF的各个版本的区别;LocalDB是个啥

EF6 在 code first的模式下,codefrist不支持的数据库更多,比如access,sqlite,sql compact 3.5,mysql,oracle 关于LocalDB的介绍 类似于sqlite (但是sqlite是不支持存储过程的,而LocalDB则支持存储过程) 导读:LocalDB是SQL Server 2012带来的新特性,它是一个专门为开发人员量身定制的轻量级数据库.本文将为您讲解LocalDB的开发背景,展示其核心特性,并看看它与微软的其它轻量级数据库到底有何不同

VS中 Debug和Release版本的区别

VS Debug和Release版本的区别 1. 变量.大家都知道,debug跟release在初始化变量时所做的操作是不同的,debug是将每个字节位都赋成0xcc(注1),而release的赋值近似于随机(我想是直接从内存中分配的,没有初始化过).这样就明确了,如果你的程序中的某个变量没被初始化就被引用,就很有可能出现异常:用作控制变量将导致流程导向不一致:用作数组下标将会使程序崩溃:更加可能是造成其他变量的不准确而引起其他的错误.所以在声明变量后马上对其初始化一个默认的值是最简单有效的办法

Java JDK 版本的区别

jdk6和jdk5相比的新特性有: 1.instrumentation 在 Java SE 6 里面,instrumentation 包被赋予了更强大的功能:启动后的 instrument.本地代码 instrument,以及动态改变 classpath 等等. 2.Http有所增强 3. Java 管理扩展(JMX) 架构及其框架,以及在 Java SE 5 中新引入的 JMX API -- java.lang.management 包 4.JDK 6 中新增加编译器 API(JSR 199)

PHP版本的区别

原文:PHP版本的区别 以为这个已经写过了,发现没有,赶紧补充下. PHP的版本,自从进入5以后,发布新版本速度明显提升很多,从PHP5.2开始,5.3 .5.4 .5.5,就快要6.0了. 注:ecshop用户请自觉使用php5.2.17版本.呵呵. 在php官网下载php时,我们会发现有vc6.vc9的区别,这是什么意思呢? VC6是legacy Visual Studio 6 compiler,使用这个版本的编译器编译PHP代码的,使用apache做应用程序服务器,则选择vc6. VC9是

驰骋工作流引擎开源版本与商业版本的区别

驰骋工作流商业版本主要是有技术服务,有公司使用授权,以下表单仅仅列出2017版,商业与开源两个版本的区别. 流程引擎 模块 功能 开原版 商业版 应用模式 公司单机版 支持 支持 集团化单机版 支持 支持 集团模式二级管理员 不支持 支持 项目管理模式 项目管理模式 不支持 支持 资料树 不支持 支持 用户模式 外部用户登录 不支持 支持 外部用户参与节点工作 不支持 支持 流程模式 自由流程模式 不支持 支持 异步表单分合流 不支持 支持 流程属性 业务枚举 不支持 支持 表单引擎 模块 功能

Python3和以前版本的区别

Python3.0和以前版本的区别 (1)print .3.1版本之后要用括号括起来(print("abs"),类似于java)而2.0版本不用. (2)input代替了2.0版本的raw_input: (3)3.0版本没有file函数了,要打开文件要用open:f = open(shoplistfile,'wb'); (4)没有了Cpickle模块了,使用pickle模块: (5)使用pickle.dump()方法时,打开文件的读操作要是"wb",使用load方法

Oracle 用户(user)和模式(schema)的区别

概述: (一)什么Oracle叫用户(user): A user is a name defined in the database that can connect to and access objects. 大意:Oracle用户是用连接数据库和访问数据库对象的.(用户是用来连接数据库访问数据库). (二)什么叫模式(schema): A schema is a collection of database objects (used by a user.). Schema objects

raid功能中spanning和striping模式有什么区别?

RAID 0 又称为Stripe(条带化,串列)或Striping 它代表了所有RAID级别中最高的存储性能.RAID 0提高存储性能的原理是把连续的数据分散到多个磁盘上存取,这样,系统有数据请求就可以被多个磁盘并行的执行,每个磁盘执行属于它自己的那部分数据请求.这种数据上的并行操作可以充分利用总线的带宽,显著提高磁盘整体存取性能,RAID 0的速度是最快的.但是RAID 0没有冗余功能的,如果一个磁盘(物理)损坏,则所有的数据都无法使用. RAID 1 又称为Mirroring(镜像数据的技术

爱创课堂每日一题第二天8/24日 Quirks模式是什么?它和Standards模式有什么区别?

从IE6开始,引入了Standards模式,标准模式中,浏览器尝试给符合标准的文档在规范上的正确处理达到在指定浏览器中的程度. 在IE6之前CSS还不够成熟,所以IE5等之前的浏览器对CSS的支持很差, IE6将对CSS提供更好的支持,然而这时的问题就来了,因为有很多页面是基于旧的布局方式写的,而如果IE6 支持CSS则将令这些页面显示不正常,如何在即保证不破坏现有页面,又提供新的渲染机制呢? 在写程序时我们也会经常遇到这样的问题,如何保证原来的接口不变,又提供更强大的功能,尤其是新功能不兼容旧

debug版本和release版本的区别?

好久没有做web项目了,这项目完成了要发布网站,不好忘了 以前操作过的? 还好脑子还是有点印象 现还是 写个文档吧记录吧 免得 以后作别的了又忘了 那可不妙啊 网站发布步骤:1.先将debug改为Release编译 2.点击web网站点击发布将发布的文件保存在一个文件中 3.将修改过的的编译文件发布到测试服务器或上线服务器 注意:若出现一些问题重新加载一下web.config重新运行一下(对其文件做修改如打空格即可) 再刷新页面即可 今天主要是来讲debug版本和release版本的区别呢? 为