PHP 5.3.1 安装包 VC9 VC6不同版本的区别是什么_php技巧

最近在PHP官网上看到又有新版的PHP下载了,于是上去找找 For Windows的版本,可是一看,一共给了四个版本,VC9 x86 Non Thread Safe、VC9 x86 Thread Safe、VC6 x86 Non Thread Safe、VC6 x86 Thread Safe,这让我这个菜鸟头疼啊,还好PHP官网提供下载的地方左边有个英文choose我看懂了,我估摸着就是如何来选择版本的意思吧,于是开始查字典 及上网查找,终于看明白了具体意思,拿来做个备忘先。 再给PHP100做个广告,据说老大要出视频演示了,我就简单解释一下。

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

VC6是什么?
VC6就是legacy Visual Studio 6 compiler,就是使用这个编译器编译的。
VC9是什么?
VC9就是the Visual Studio 2008 compiler,就是用微软的VS编辑器编译的。

那我们如何选择下载哪个版本的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来使用。

时间: 2024-11-27 01:59:00

PHP 5.3.1 安装包 VC9 VC6不同版本的区别是什么_php技巧的相关文章

InstallShield 2013 Limited Edition安装包不能更新旧版本程序

已经安装了该产品的另一个版本,无法继续安装此版本.可以使用"控制面板"中"添加/删除程序"来配置或删除该产品现有版本. InstallShield Premier Edition生成的安装包则没有这个问题:  

Debian 6系统下一键安装包DebianLNMP最快的命令

直接给出安装方法:最快安装.最新稳定版.最省资源! root@DebianLNMP-Jimmyli:~# wget http://sourceforge.net/projects/debian-lnmp/files/DebianLNMP/DebianLNMP-Jimmyli.sh root@DebianLNMP-Jimmyli:~# sh DebianLNMP-Jimmyli.sh 安装完成了! 是的,没有看错.在Debian6系统下安装LNMP(Debian6 + Nginx1.2.x + P

安装包打包:如何捕获msi升级事件?(System.Configuration.Install)

问题描述 导入System.Configuration.Install类,用于打包时,重写Install方法.在安装的时候,也确实调用了自定义方法.但是当msi版本升级的时候,比如1.0.0升级到1.0.1,并不能捕获Install等任何事件.只有当安装或者卸载的时候,才能捕获Install或者Uninstall等事件.当msi版本升级时,有什么事件能捕获呢,也就说,怎么才能加入自定义操作. 解决方案 解决方案二:或者说思路是错的?根本是无法捕获?解决方案三:CSDN如此萧条了么,怎么没人顶啊解

ClickOnce部署(4) 下载多个安装包

有时候,我们可能会一次性发布多个安装包,当然在网页上多加几个链接让用户逐个安装也是可取的.不过,也可以弄得更方便些,即用户先安装一个,作为一个"引导程序",然后通过这个程序去下载安装其他应用程序. 我们还是说说真实的例子,这样好理解一点.假设我开发了两个应用程序,一个叫App1,另一个叫App2.我把这两个应用程序同时发布. 我们可以在IIS服务器的根目录下新建两子目录,我们分别把这两个应有程序发布到这两个文件夹下,如下面两张截图所示. 第一个应用 第二个应用 最后,重点是如何做这个&

Sun Solaris安装包的反安装实现

工作中,有时需要移植一些已经安装过的Solaris包,或者对已经安装后的包进行修改,但一时又无法找到原来的安装包.系统升级时,有时也常常涉及到对原来系统的备份问题,这时需要一些能够对原来的安装包进行备份,又能够在新系统上进行安装的工具.Solaris本身并不提供直接的工具用于包的移植. 但Solaris在安装本身通用的PKG包时,会产生两个与安装包相关的文档/上录,分别在/var/sadm/pkg/下和/var/sadm/install/contents中,通过对这两个文档进行解析,可以实现对S

LAMP或LNMP的一键安装包

网上有很多LNMP/LAMP一键安装脚本,编译安装参数还要修改脚本,此脚本整合了LAMP和LNMP,在任何一台有网络的Red hat 或者centos 服务器上自动配置LNMP或者LAMP,用户可以自定义编译参数也可以使用此脚本默认的参数编译安装.还可以单独安装mysql.nginx.apache.php. 使用方法:将下面代码保存一个文件,例如inst_lanmp.sh 上传到服务器上执行. 此脚本在CentOS 6.0  X864环境下通过:使用效果如下: 代码如下: #!/bin/bash

分析安装包lnmp中的apache.sh脚本

分析shell脚本,学习方法,这个其实是在lnmp环境下再安装apache,实现lnmpa环境. #!/bin/bash #定义PATH变量 PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin #声明PATH为环境变量 export PATH # Check if user is root #id -u 当前用户的uid,也可以使用反引号`id -u`,效果一样,0为root的用户id if [ $(id

使用shell批量删除软件安装包

在使用rpm -e 卸载某个应用软件时,发现有一些相关联的安装包,又不想一个一个的去执行卸载命令,于是想到用脚本批量的将其一次性卸载. #!/bin/bash #uninstall software related packages #批量删除软件相关联包 #2012-10-21 read -p "Enter the package name: " pack_name rpm -qa | grep $pack_name > pack_list.sh #生成一个临时脚本 sed -

图解Windows Installer制作软件安装包

你也许正在为发布自己开发的应用程序和组件犯难,因为按照传统的方法,需要写一些复杂的安装脚 本.本文的目的就是帮助.NET程序员熟悉使用非常简单方便的工具来发布自己的应用程序而无须编写安装 脚本.微软的.NET安装发布平台把这一切简化为几次简单点击,它提供了自学习的,简单驱动的向导方式 .很多使用Visual Studio .NET的程序员没有充分利用VS自带的Windows Installer工具而选择了其他的 工具.其实,它使用起来非常简单. Windows Installer的特性 ·和传统