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

PHP5.3以后 For Windows 提供了四个版本VC9 x86 Non Thread Safe、VC9 x86 Thread Safe、VC6 x86 Non Thread Safe、VC6 x86 Thread Safe

在 官网 左边栏有提示:

Which version do I choose?

If you are using PHP with Apache 1 or Apache2 from apache.org you need to use the VC6 versions of PHP

If you are using PHP with IIS you should use the VC9 versions of PHP

VC6 Versions are compiled with the legacy Visual Studio 6 compiler

VC9 Versions are compiled with the Visual Studio 2008 compiler and have improvements in performance and stability. The VC9 versions require you to have the Microsoft 2008 C++ Runtime (x86) or the Microsoft 2008 C++ Runtime (x64) installed

Do NOT use VC9 version with apache.org binaries

VC9 versions of Apache can be fetched at Apache Lounge. We use their binaries to build the Apache SAPIs.

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

VC6就是legacy Visual Studio 6 compiler,就是使用vs6编译的。 
VC9就是the Visual Studio 2008 compiler,就是使用vs9编译的。 
在Windows选择下载哪个版本的PHP呢? 
如果你是在windows下使用Apache+PHP的,请选择VC6版本; 
如果你是在windows下使用IIS+PHP的,请选择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版本。 

官方并不建议你将Non Thread Safe 应用于生产环境,所以我们选择Thread Safe 版本的PHP来.

注意在Linux/Unix下,肯定没有VC9版本和VC6版本之分,但有线程安全之分。而在linux下安装PHP一般编译安装的,configure需要说明是否需要开启线程安全:

–with-tsrm-st          Use SGI's State Threads  
–with-tsrm-pthreads    Use POSIX threads (default)

转自:http://blog.csdn.net/hguisu/article/details/7492486

原创文章,作者:s19930811,如若转载,请注明出处:http://www.178linux.com/2966

(0)
s19930811s19930811
上一篇 2015-06-15
下一篇 2015-06-16

相关推荐

  • linux作业管理和任务计划

    一、作业管理 Linux 的作业控制     前台作业:通过终端启动,且启动后一直占据终端;     后台作业:可通过终端启动,但启动后即转入后台运行(释放终端) 如何让作业运行于后台? (1)  运行中的作业: Ctrl+z (2)&nb…

    Linux干货 2016-09-13
  • LVS入门

    随着互联网进入寻常百姓家,网络流量愈来愈大,大规模的网路访问如果都使用一个服务器提供服务,那么网络通讯注定会拥堵不堪。为了解决这些问题,达到使网络流量均衡地分散到各个服务器上的目的,一些技术大牛发明了LVS负载均衡技术。   LVS简介   LVS(Linux Virtual Server)即为Linux虚拟服务器,使由章文嵩博士主导开发…

    Linux干货 2017-05-09
  • openssl+http实现https

    openssl详解及实现https OpenSSL 是一个安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。 秘钥算法和协议: 对称加密: 加密和解密使用同一个密钥,原始数据分成固定大小块,算法不同 秘钥过多,秘钥分发困难 DES,3DES  AES  Blowfi…

    Linux干货 2016-10-24
  • 交换分区创建和磁盘配额的使用

    一、交换分区的建立与启用:     交换分区是作为内存的一个辅助分区,在内存吃紧时,交换分区会作为内存的一部分使用,但是效率比起内存来说会很低下,在一个硬盘分区时最好使用柱面较小的柱面作为交换分区,因为在机械硬盘转速一定的情况下,越靠近外面的磁道,线速度越大,读取到的扇区越多,一定程度上有利于提高性能   &…

    Linux干货 2016-08-29
  • CentOS 6开机启动流程理论篇

    CentOS 6开机启动流程理论篇 centos 系统的启动流程 grub 破坏Linux的核心文件再修复体验系统启动流程 概述 任 何系统启动的第一步必然是加电,然后计算机硬件会主动地读取BIOS来加载硬件设备信息并检测,之后系统会主动地读取第一个有引导程序的设备,该引导程序 (grub)可以指定使用哪个内核来启动,并将其加载至内存当中运行,同时内核还要加…

    Linux干货 2016-09-19
  • 第一周作业

    – 描述计算机的组成及其功能。 – 按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。 – 描述Linux的哲学思想,并按照自己的理解对其进行解释性描述。 – 说明Linux系统上命令的使用格式;详细介绍ifconfig、echo、tty、startx、export、pwd、history、shu…

    Linux干货 2016-12-04