`
daniel_tu
  • 浏览: 182533 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

PHP版本VC6和VC9、Non Thread Safe和Thread Safe的区别

    博客分类:
  • Web
阅读更多

想更新个 PHP 的版本, PHP windows 版本已经分离出来了,见 http://windows.php.net/download/ ,但是上面有很多不同的版本,包括 VC9, VC6,  x86 Non Thread Safe, x86 Thread Safe, 好像没有 x64 版本的,(现在特别喜欢用 64 位的软件),版本有点多,主要的区别和如何选择不同的版本如下:

VC6 版本是使用 Visual Studio 6 编译器编译的,如果你是在 windows 下使用 Apache+PHP 的,请选择 VC6 版本。

VC9 版本是使用 Visual Studio 2008 编译器编译的,如果你是在 windows 下使用 IIS+PHP 的,请选择 VC9 版本。

Non Thread Safe 就是非线程安全,在执行时不进行线程( Thread )安全检查;
Thread Safe
是线程安全,执行时会进行线程( Thread )安全检查,以防止有新要求就启动新线程的 CGI 执行方式而耗尽系统资源;

Windows 下的 PHP 主要有两种执行方式: ISAPI FastCGI

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

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

       官方并不建议你将 Non Thread Safe 应用于生产环境。

     

知识补充:

       ISAPI 缩写词为 Internet Server Application Programming Interface Microsoft 所提的 Internet server API ISAPI 服务器扩展是可以被 HTTP 服务器加载和调用的 DLL Internet 服务器扩展也称为 Internet 服务器应用程序 (ISA) ,用于增强符合 Internet 服务器 API (ISAPI) 的服务器的功能。 ISA 通过浏览器应用程序调用,并且将相似的功能提供给通用网关接口 (CGI) 应用程序。

       FastCGI 是一个程序接口,它能加速公共网关接口( CGI ), CGI 是一种用最常见的方式使 Web 服务器调用应用程序的 Web 应用程序。按一个 FastCGI 工具来看,用户要求进入一个网站并使用一个专门的应用软件的话,使用 FastCGI 能够快 3 30 倍。 FastCGI Web 服务器的一种 插件。为了获得良好的性能,它要求对现有服务器应用程序(比如 Perl Tcl 脚本和 C C++ 程序)做细小的改动。  

     基本上, FastCGI 是一个在单一步骤中管理多重 CGI 请求的程序,为每个请求减少了许多程序指令。没有 FastCGI 的话,每当用户请求某一服务时都会导致 Web 服务器打开 一个新的能控制和执行这项服务的程序,然后关闭它。有了 FastCGI 的话,一个步骤的耗费会被所有当前正处理的请求所分担。与 CGI 不同,有了 FastCGI 的话,每个步骤是独立于 Web 服务器运行的, 这样就提供了更多的安全。 FastCGI 是独立代码的。它的版权属于 Open Market 公司,该公司提供 FastCGI 的免费使用并且将其作为一个公开标准。 FastCGI 提供了唯一一个可以跨平台和在任何 Web 服务器上使用的 无知识产权的方法。

分享到:
评论

相关推荐

    PHP 5.3 (5.3.0) VC6 x86 Non Thread Safe

    【PHP 5.3 (5.3.0) VC6 x86 Non Thread Safe】是PHP的一个特定版本,适用于32位(x86)系统,并且是基于Visual C++ 6 (VC6)编译器构建的非线程安全(Non Thread Safe,NTS)版本。这个版本在设计时并未考虑多线程...

    PHP 版本VC6 和VC9 区别及NTS

    ### PHP版本VC6与VC9的区别及NTS详解 #### PHP版本VC6与VC9的定义 在PHP的编译过程中,根据所使用的编译器的不同,可以将PHP分为不同的版本,其中比较常见的两种编译环境是VC6(Visual Studio 6)和VC9(Visual ...

    解析PHP中VC6 X86和VC9 X86的区别及 Non Thread Safe的意思

    标题和描述中提到的主要知识点是PHP的VC6 X86和VC9 X86版本之间的差异,以及Non Thread Safe和Thread Safe的概念。让我们深入探讨这些关键点。 首先,VC6 X86指的是使用Visual Studio 6编译器构建的PHP版本。Visual...

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

    当我们下载PHP 5.3版本时,可能会遇到多个不同版本的选择,包括VC9、VC6、Thread Safe (线程安全)、Non Thread Safe (非线程安全)这几种类型。这些区别背后隐藏着不同的编译环境、PHP的执行方式以及性能优化的考虑,...

    php-5.3.1-Win32-VC6-x86

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

    php5 non-thread-safe和thread-safe这两个版本的区别分析

    所以不需要进行线程的安全检查,除去线程安全检查的防护反而可以提高执行效率,所以,如果是以 FastCGI(无论搭配 IIS 6 或 IIS 7)执行 PHP ,都建议下载、执行 non-thread safe 的 PHP (PHP 的二進位檔有兩

    php 5.4 vc9 nts 版本redis 与 igbinary

    标题中的“php 5.4 vc9 nts 版本redis 与 igbinary”涉及到的是在PHP 5.4版本的环境下,使用VC9编译器构建的Non Thread Safe(NTS)版本,同时集成Redis扩展和igbinary扩展的相关内容。这两个扩展在PHP中扮演着重要...

    PHP版本的选择

    本文将深入探讨PHP版本的选择,特别是针对PHP 5.3版本的VC9和VC6编译器版本,以及Thread Safe和Non Thread Safe版本的区别。 首先,我们来看PHP 5.3版本的VC9和VC6编译器版本。这两个版本主要的区别在于它们所使用...

    PHP环境配置相关问题

    PHP 官网提供了多种版本的 PHP 下载,包括 VC9 x86 Non Thread Safe、VC9 x86 Thread Safe、VC6 x86 Non Thread Safe、VC6 x86 Thread Safe 等。那么,如何选择合适的 PHP 版本呢? 首先,需要了解 VC6 和 VC9 的...

    PHP中基于ts与nts版本- vc6和vc9编译版本的区别详解

    (www.apachelounge.com上有apache VC9的版本提供,应该可以和PHP VC9配合,没用过)TS:Thread Safe 线程安全, 执行时会进行线程(Thread)安全检查,以防止有新要求就启动新线程的CGI执行方式而耗尽系统资源NTS:...

    php_redis.dll for PHP 5.3 v2.1.3(包含VC6和VC9)

    php_redis.dll要与PHP的编译环境版本一致,否则会报错不能载入。...另外这两个版本呢的php_redis.dll都是Thread Safe版本的,Non-thread Safe版本未测试,如果PHP是Non-thread Safe版本不能用请移步。

    PHP 5.3 VC9 X64 WIN 64 位 NTS 版

    **NTS (Non Thread Safe)** 版本的PHP是针对不使用多线程的Web服务器(如IIS和Apache的MOD_PHP模式)设计的。NTS版本在性能上通常优于TS(Thread Safe)版本,因为它们不需要进行线程安全检查,但在多线程环境下可能...

    php_xdebug-2.2.7-5.3-vc9-nts.dll php_xdebug-2.5.5-5.5-vc11.dll

    - "php_xdebug-2.2.7-5.3-vc9-nts.dll":这是Xdebug的2.2.7版本,支持PHP 5.3,使用Visual C++ 9(即VC9)编译器,且是Non Thread Safe(NTS)版本,这意味着它不适用于多线程的PHP环境。 - ...

    php5.3.1_VC9_win32

    - `nts`:代表Non-Thread-Safe(非线程安全),这种版本适用于使用FastCGI或者ISAPI扩展的方式运行PHP。 - `Win32`:表示这是针对32位Windows系统编译的版本。 - `VC9`:表明是使用Visual C++ 2008编译器编译的。...

    php-5.2.10-nts-Win32-VC6-x86.zip

    NTS(Non-Thread-Safe)意味着它不支持多线程环境,通常与ISAPI扩展在IIS服务器上配合使用,或者在CGI模式下运行。 标签 "php" 明确了讨论的主题,即PHP,这是一种广泛使用的开源服务器端脚本语言,特别适合Web开发...

    php-5.3.28-nts-Win32-VC9-x86

    3. **NTS (Non-Thread Safe)**: 在多线程环境中,线程安全意味着代码可以在不同线程同时运行时保持正确性。然而,Windows上的PHP通常与ISAPI扩展一起使用,这不需要线程安全性,因此选择NTS版本可以提高性能。非线程...

    php_memcache-5.4-nts-vc9-x86

    在Windows平台上的PHP通常有两个版本:TS(Thread Safe)和NTS,NTS版本适用于以FastCGI方式运行的PHP,如IIS与FastCGI的组合。 “vc9”指的是Visual C++ 2008编译器,这意味着扩展是使用该编译器构建的,因此需要...

    PHP中VC6、VC9、TS、NTS版本的区别与用法详解

    本文将详细解析PHP中的VC6、VC9、TS和NTS版本的区别以及它们的适用场景。 首先,我们来看一下VC6和VC9的区别。这两个版本主要指的是PHP所依赖的编译器版本。VC6版本的PHP是由Microsoft Visual Studio 6编译器构建的...

Global site tag (gtag.js) - Google Analytics