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)
上一篇 2015-06-15 18:24
下一篇 2015-06-16 21:33

相关推荐

  • linux特殊权限管理

    特殊权限:SUID, SGID, STICKY 正常情况下:  1、进程以某用户的身份运行; 进程是发起此进程用户的代理,因此以此用户的身份和权限完成所有操作; 2、权限匹配模型: (1) 判断进程的属主,是否为被访问的文件属主;如果是,则应用属主的权限;否则进入第2步; (2) 判断进程的属主,是…

    Linux干货 2015-12-19
  • iptables

    练习:基于状态放行telnet, ftp, ssh, http, samba, icmp等服务 (1) 对本机的ping请求每分钟不得超出20个 (2) 每客户端对本机的ssh的并发连接数不得超过3个 (3) 本机的telnet服务仅允许工作时间内访问 [root@node1 ~]# vim iptables.sh iptabl…

    Linux干货 2016-10-22
  • shell脚本编程

    一、编程基础: shell脚本是包含一些命令或声明,并符合一定格式的文本文件 shell脚本的用途有: 自动化常用命令 执行系统管理和故障排除 创建简单的应用程序 处理文本或文件 1)     第一步:使用文本编辑器来创建文本文件 script.sh 并编写内容 格式要求:首行shebang &nb…

    Linux干货 2016-08-15
  • 10个有用的Linux命令面试问题及答案

    1. 如何暂停一个正在运行的进程,把其放在后台(不运行)? 答案:为了停止正在运行的进程,让其在后台运行,我们可以使用组合键 Ctrl+Z。 2. 什么是安装Linux所需的最小分区数量,以及如何查看系统启动信息? 答案:单独一个/root分区足以执行所有的系统任务,但是强烈建议安装Linux时,需要至少三个分区:/root,/boot,/swap。一个ID…

    2017-09-05
  • shell脚本编程初步–吐血整理

    shell脚本编程 编程基础 程序: 程序的构成:指令 + 数据 程序的编程风格:     过程式:以指令为中心,数据服务于指令     对象式:以数据为中心,指令服务于数据 shell程序:提供了编程能力,解释执行 shell,perl,python语言均为高级编程语言 编程的逻辑处理方式: &n…

    Linux干货 2016-08-18
  • 20161019第5天作业

    1、只显示/root下的隐藏文件 ls -d '.'* 2、只显示/etc下的目录 ls -d */ ls -l |grep '^d' ls -F | grep "/$"  &nb…

    Linux干货 2016-10-20