PHP 5.3 下载时 VC9、VC6、Thread Safe、Non Thread Safe的区别分析

2015-01-24信息快讯网

我最近在 PHP 官网上看到又有新版的 PHP 下载了,于是上去找找 For Windows 的版本,可是一看确傻眼了

一共给了四个版本,VC9 x86 Non Thread Safe、VC9 x86 Thread Safe、VC6 x86 Non Thread Safe、VC6 x86 Thread Safe,这让我这个菜鸟头疼啊,还好 PHP 官网提供下载的地方左边有个英文 choose 我看懂了,我估摸着就是如何来选择版本的意思吧,于是开始查字典及上网查找,终于看明白了具体意思,拿来做个备忘先。

一、如何选择 PHP5.3 的 VC9 版本和 VC6 版本

VC6 版本是使用 Visual Studio 6 编译器编译的,如果你的 PHP 是用 Apache 来架设的,那你就选择 VC6 版本。

VC9 版本是使用 Visual Studio 2008 编译器编译的,如果你的 PHP 是用 IIS 来架设的,那你就选择 VC9 版本。

二、如何选择 PHP5.3 的 Thread Safe 和 Non Thread Safe 版本

先从字面意思上理解,Thread Safe 是线程安全,执行时会进行线程(Thread)安全检查,以防止有新要求就启动新线程的 CGI 执行方式而耗尽系统资源。Non Thread Safe 是非线程安全,在执行时不进行线程(Thread)安全检查。

再来看 PHP 的两种执行方式:ISAPI 和 FastCGI。

ISAPI 执行方式是以 DLL 动态库的形式使用,可以在被用户请求后执行,在处理完一个用户请求后不会马上消失,所以需要进行线程安全检查,这样来提高程序的执行效率,所以如果是以 ISAPI 来执行 PHP,建议选择 Thread Safe 版本;

而 FastCGI 执行方式是以单一线程来执行操作,所以不需要进行线程的安全检查,除去线程安全检查的防护反而可以提高执行效率,所以,如果是以 FastCGI 来执行 PHP,建议选择 Non Thread Safe 版本。

再来看PHP的两种执行方式:ISAPI和FastCGI。

FastCGI执行方式是以单一线程来执行操作,所以不需要进行线程的安全检查,除去线程安全检查的防护反而可以提高执行效率,所以,如果是以 FastCGI(无论搭配 IIS 6 或 IIS 7)执行 PHP ,都建议下载、执行 non-thread safe 的 PHP (PHP 的二进位档有两种包装方式:msi 、zip ,请下载 zip 套件)。

而线程安全检查正是为ISAPI方式的PHP准备的,因为有许多php模块都不是线程安全的,所以需要使用Thread Safe的PHP。

所以,对于PHP5.2选择Thread Safe版本安装,而对于PHP5.3则下载None-Thread Safe,执行PHP比较有效率。

另外,PHP还有VC6,VC9版本之分。

VC6 版本是使用 Visual Studio 6 编译器编译的,如果你的 PHP 是用 Apache 来架设的,那你就选择 VC6 版本。

VC9 版本是使用 Visual Studio 2008 编译器编译的,如果你的 PHP 是用 IIS 来架设的,那你就选择 VC9 版本。
解析PHP中VC6 X86和VC9 X86的区别及 Non Thread Safe的意思
PHP中基于ts与nts版本- vc6和vc9编译版本的区别详解
php插入中文到sqlserver 2008里出现乱码的解决办法分享
php在项目中寻找代码的坏味道(综艺命名)
PHP的5个安全措施小结
php日期转时间戳,指定日期转换成时间戳
UCenter 批量添加用户的php代码
PHP中防止直接访问或查看或下载config.php文件的方法
PHP5权威编程阅读学习笔记 附电子书下载
PHP连接SQLServer2005的实现方法(附ntwdblib.dll下载)
php下载文件的代码示例
PHP连接SQLSERVER 注意事项(附dll文件下载)
有关PHP中MVC的开发经验分享
Notice: Trying to get property of non-object problem(PHP)解决办法
php打造属于自己的MVC框架
php skymvc 一款轻量、简单的php
关于php mvc开发模式的感想
PHP发明人谈MVC和网站设计架构 貌似他不支持php用mvc
php中突破基于HTTP_REFERER的防盗链措施(stream_context_create)
php中关于普通表单多文件上传的处理方法
PHP删除特定数组内容并且重建数组索引的方法.
PHP学习 变量使用总结
优化php效率,提高php性能的一些方法
php 代码优化之经典示例
PHP中MVC模式的模板引擎开发经验分享
php做下载文件的实现代码及文件名中乱码解决方法
Base64在线编码解码实现代码 演示与下载
Mysql数据库操作类( 1127版,提供源码下载 )
整理的9个实用的PHP库简介和下载
PHP 强制下载文件代码
PHP 5.3.1 安装包 VC9 VC6不同版本的区别是什么
php5 non-thread-safe和thread-safe这两个版本的区别分析
PHP MVC模式在网站架构中的实现分析
©2014-2024 dbsqp.com