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

转载 2011年07月01日 01:57:00

引用地址:http://www.itbkc.com/tb.php?sc=87cc86&id=15

想更新个 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 服务器上使用的 无知识产权的方法。

JavaSE之多线程实战视频课程

多线程的概念 在Java中实现多线程 Thread类 Runnable接口 线程的生命周期和线程状态 后台线程 线程同步
  • 2016年10月12日 11:25

PHP关于VC11,VC9,VC6以及Thread Safe和Non Thread Safe版本选择的问题

这里是我在搭建php环境时收集的资料供大家参考: 现在PHP官网上下载PHP安装包都有VC11或VC9的字样,这是什么含义,我们应该下载哪种安装包更好呢?其实PHP官网给出了答案: VC6...
  • lrcoop
  • lrcoop
  • 2015-05-04 10:17:29
  • 23340

PHP版本VC6与VC9、Thread Safe与None-Thread Safe等的区别

转载:http://www.cnblogs.com/whoknows/articles/2425841.html 最近发现很多PHP程序员对PHP版本知识了解不是很清楚,自己也看了不...
  • zhangxinrun
  • zhangxinrun
  • 2013-11-07 14:21:28
  • 8691

PHP 5.3 (5.3.0) <em>VC</em>6 x86 <em>Non</em> <em>Thread</em> <em>Safe</em>

php_memcache.dll For PHP5.5.1(vc11 x86/<em>x64</em>) 立即下载 上传者: wixsky...php-7.2.3-Win32-<em>VC15</em>-x86 <em>Thread</em> <em>Safe</em>官网下载 立即下载 上传者: vread...
  • 2018年04月22日 00:00

Win7下配置PHP+Nginx

Win7下配置PHP+Nginx
  • liangbinny
  • liangbinny
  • 2016-07-26 15:41:14
  • 1606

php7 <em>64</em>位 <em>VC</em>14(vs2015)

64位php7稳定版,php-7.0.0-Win32-<em>VC</em>14-<em>x64</em>....时间: 2016-04-17 综合评分: 5 积分/C币:<em>15</em> PHP关于VC11,<em>VC</em>9,<em>VC</em>6以及<em>Thread</em> <em>Safe</em>和<em>Non</em> <em>Thread</em> <em>Safe</em>...
  • 2018年04月23日 00:00

PHP关于VC11,VC9,VC6以及Thread Safe和Non Thread Safe版本选择的问题

从PHP5.2.10版本开始(现在有PHP5.2.10和5.3两个版本),有None-Thread Safe与Thread Safe两种版本的可供选择,这两种版本有何不同,作为使用者来说又应该如何选择...
  • flitrue
  • flitrue
  • 2016-03-16 21:34:10
  • 1551

vc11_<em>64</em>运行库

bam1510 2018-03-<em>15</em> 16:09:46 可以使用,谢谢。 ...php-5.5.10-Win32-VC11-<em>x64</em>.zip 立即下载 上传...PHP关于VC11,<em>VC</em>9,<em>VC</em>6以及<em>Thread</em> <em>Safe</em>和<em>Non</em> <em>Thread</em> ...
  • 2018年04月20日 00:00

在IIS7上部署PHP

公司的服务器买的是阿里云,网站也是部署在IIS7上的,七月份的时候自己也在阿里云买了个低配版的服务器用作自己学习测试代码的。用惯了PHP集成环境,于是不想在服务器上安装集成环境,想在IIS7上部署,于...
  • Jaystrong
  • Jaystrong
  • 2017-09-03 21:37:58
  • 2411

win10+nginx+php7+mysql

本文参考了 http://www.cnblogs.com/huayangmeng/archive/2011/06/15/2081337.html 近几年来nginx的市场占有率逐渐上升,已经慢慢的逼...
  • GFJ0814
  • GFJ0814
  • 2017-07-30 18:11:14
  • 806
收藏助手
不良信息举报
您举报文章:【转】PHP版本VC6和VC9、Non Thread Safe和Thread Safe的区别
举报原因:
原因补充:

(最多只允许输入30个字)