PHP5.2.10与5.3版本None-Thread Safe与Thread Safe的区别及选择指南

从php5.2.10开始(现在有两个版本php5.2.10和5.3),有两个版本的无线程安全和线程安全。这两个版本之间有什么区别?作为用户,应该如何选择?

PHP5.2.10与5.3版本None-Thread Safe与Thread Safe的区别及选择指南

让我们首先从字面上理解它。非线程安全是非线程安全的,并且在执行过程中不会执行线程安全检查;

线程安全是线程安全。在执行过程中执行线程安全检查,以防止CGI执行方法在需要新的要求时启动新线程耗尽系统资源。

通常,我们将配置PHP以在ISAPI中运行。 ISAPI是一种多线程方法,速度更快。但是有一个问题。许多常用的PHP扩展是通过Linux/Unix的多过程思想开发的。在ISAPI运行时,这些扩展将犯错。因此,CGI模式是PHP在IIS下运行的最安全方法,但是CGI模式需要重新加载和卸载每个HTTP请求的整个PHP环境,这会消耗大量。

为了考虑IIS下PHP的效率和安全性,Microsoft为FastCGI提供了解决方案。 FastCGI允许PHP流程重复使用,而不是重新打开每个新请求的过程。同时,FastCGI还可以允许几个进程同时执行。这不仅解决了过多消耗CGI过程模式的问题,而且还利用了CGI过程模式下无线安全问题的优势。

FastCGI执行方法是用单个线程执行操作,因此无需执行线程安全检查。删除线程安全检查的保护可以提高执行效率。因此,如果您使用FastCGI执行PHP(使用IIS),建议下载和执行非。 -Thread Safe PHP(有两种方法可以包装PHP的二进制文件:MSI和ZIP,请下载Zip Suite)。

在ISAPI中准备了PHP的线程安全检查。 ISAPI执行方法以DLL动态库的形式使用。用户请求后可以执行它。处理用户请求后不会立即消失,因此有必要执行线程。安全检查以提高程序的执行效率。由于许多PHP模块不是线程安全,并且使用ISAPI执行PHP,因此您需要使用Thread Safe的PHP(带有Apache)。

如果您仍然不知道,那就知道您是PHP+Apache还是PHP+IIS组合

IIS的非线程安全环境

线程安全的线程安全和Apache环境

PHP是用C语言开发的,因此取决于VC库运行

Visual C ++ 2003运行时库(VC7)

Visual C ++ 2005运行时库(VC8)

Visual C ++ 2008运行时库(VC9)

Visual C ++ 2010运行时库(VC10)

Visual C ++ 2012运行时库(VC11)

Visual C ++ 2013运行时库(VC12)

只有在安装相应的运行时库时,才能运行PHP。例如,PHP5.5需要安装VC11。

PHP还具有VC6 VC9版本。一个支持Apache,另一个支持IIS。使用Apache时VC9也可以。如果使用IIS,则必须使用VC9。如果使用Apache VC6和VC9,则可以使用它。

你可能想看:
« 上一篇
下一篇 »

相关推荐

php实时推送,php实地培训

2026年10月05日

53阅读

php乱码出现问号的原因,php乱码出现问号的原因有哪些

2026年10月05日

44阅读

php一句话木马,一句话木马ctf

2026年10月05日

48阅读

php获取数组长度,php中如何获取数组的长度

2026年10月05日

50阅读

php面试题库及答案,php程序员面试真题库

2026年10月05日

47阅读

phpcontent-type修改,php源码二次修改需要多少钱

2026年10月05日

42阅读