本来想写一下关于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以后。