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

 更新时间:2011年03月28日 00:17:58   作者:  
我最近在 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简单字符串过滤方法示例

    PHP简单字符串过滤方法示例

    这篇文章主要介绍了PHP简单字符串过滤方法,结合实例形式分析了php通过对字符串中特殊字符进行正则替换实现字符过滤功能的简单操作技巧,需要的朋友可以参考下
    2016-09-09
  • phpMyAdmin链接MySql错误 个人解决方案

    phpMyAdmin链接MySql错误 个人解决方案

    phpMyAdmin 试图连接到 MySQL 服务器,但服务器拒绝连接。您应该检查 config.inc.php 中的主机、用户名和密码,并且确定这些信息与 MySQL 服务器的管理员所给出的信息一致。
    2009-12-12
  • PHP的范围解析操作符(::)的含义分析说明

    PHP的范围解析操作符(::)的含义分析说明

    今天看到几个有关PHP的符号。一个是@,这个加在一个变量的前面,是为了抑制PHP解释器报错,也就是说即使出了错也不会显示出来。
    2011-07-07
  • PHP实现获取域名的方法小结

    PHP实现获取域名的方法小结

    这篇文章主要介绍了PHP实现获取域名的方法,实例总结了常见的获取域名的方法,非常具有实用价值,需要的朋友可以参考下
    2014-11-11
  • PHP 采集获取指定网址的内容

    PHP 采集获取指定网址的内容

    用php来获取指定网页内容的实现代码,一般采集程序经常用的一些代码,这里只是一个简单的基础。更详细的资料可以参考php 采集成品,可以使用的源码,这样才能学会更多的东西。
    2010-01-01
  • PHP+原生态ajax实现的省市联动功能详解

    PHP+原生态ajax实现的省市联动功能详解

    这篇文章主要介绍了PHP+原生态ajax实现的省市联动功能,较为详细的分析了ajax交互的原理、实现方法以及php结合ajax实现省市联动下拉菜单功能的相关操作技巧,需要的朋友可以参考下
    2017-08-08
  • php实现获取局域网所有用户的电脑IP和主机名、及mac地址完整实例

    php实现获取局域网所有用户的电脑IP和主机名、及mac地址完整实例

    这篇文章主要介绍了php实现获取局域网所有用户的电脑IP和主机名、及mac地址,非常实用,需要的朋友可以参考下
    2014-07-07
  • php的ddos攻击解决方法

    php的ddos攻击解决方法

    这篇文章主要介绍了php的ddos攻击解决方法,实例分析了ddos攻击程序的原理与针对性的解决方法,是非常实用的技巧,需要的朋友可以参考下
    2015-01-01
  • PHP实现的简单操作SQLite数据库类与用法示例

    PHP实现的简单操作SQLite数据库类与用法示例

    这篇文章主要介绍了PHP实现的简单操作SQLite数据库类与用法,结合具体实例形式分析了php封装的针对SQLite数据库相关增删改查操作技巧与使用方法,需要的朋友可以参考下
    2017-06-06
  • PHP解析RuoYi框架实现Token解密详解

    PHP解析RuoYi框架实现Token解密详解

    这篇文章主要介绍了PHP解析RuoYi框架实现Token解密,同时本篇文章对RuoYi若依框架的使用进行简单的介绍,它和php的fastadmin框架非常类似,是可以根据数据库表自动的生成一个完整的管理后台
    2022-10-10

最新评论