我最近在 PHP 官网上看到又有新版的 PHP 下载了,于是上去找找 For Windows 的版本,可是一看确傻眼了,一共给了四个版本,VC9 x86 Non Thread Safe、VC9 x86 Thread Safe、VC6 x86 Non Thread Safe、VC6 x86 Thread Safe,这让我这个菜鸟头疼啊,还好 PHP 官网提供下载的地方左边有个英文 choose 我看懂了,我估摸着就是如何来选择版本的意思吧,于是开始查字典及上网查找,终于看明白了具体意思,拿来做个备忘先。
一、如何选择 PHP5.3 的 VC9 版本和 VC6 版本
VC6 版本是使用 Visual Studio 6 编译器编译的,如果你的 PHP 是用 Apache 来架设的,那你就选择 VC6 版本。
VC9 版本是使用 Visual Studio 2008 编译器编译的,如果你的 PHP 是用 IIS 来架设的,那你就选择 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 版本。
分享到:
相关推荐
【PHP 5.3 (5.3.0) VC6 x86 Non Thread Safe】是PHP的一个特定版本,适用于32位(x86)系统,并且是基于Visual C++ 6 (VC6)编译器构建的非线程安全(Non Thread Safe,NTS)版本。这个版本在设计时并未考虑多线程...
当我们下载PHP 5.3版本时,可能会遇到多个不同版本的选择,包括VC9、VC6、Thread Safe (线程安全)、Non Thread Safe (非线程安全)这几种类型。这些区别背后隐藏着不同的编译环境、PHP的执行方式以及性能优化的考虑,...
**NTS (Non Thread Safe)** 版本的PHP是针对不使用多线程的Web服务器(如IIS和Apache的MOD_PHP模式)设计的。NTS版本在性能上通常优于TS(Thread Safe)版本,因为它们不需要进行线程安全检查,但在多线程环境下可能...
"nts"表示“非线程安全”(Non-Thread Safe),意味着它不适合在多线程环境下运行的PHP服务器,如ISAPI在IIS下。"vc9"则表明这个扩展是用Visual C++ 9编译器构建的,对应的是Visual Studio 2008。最后的"x86"代表这...
- "php_xdebug-2.2.7-5.3-vc9-nts.dll":这是Xdebug的2.2.7版本,支持PHP 5.3,使用Visual C++ 9(即VC9)编译器,且是Non Thread Safe(NTS)版本,这意味着它不适用于多线程的PHP环境。 - ...
该扩展包中的"nts"和"ts"分别代表"Non Thread Safe"(非线程安全)和"Thread Safe"(线程安全)。在Windows环境下,PHP可以以单线程ISAPI或者多线程FastCGI的方式运行。如果你的PHP环境是以ISAPI方式运行(例如IIS...
The VCx marker tells with which compiler the extension was built, and Non-thread-safe whether ZTS was disabled. Those qualifiers need to match the PHP version you're using. If you don't know which ...
这里的`nts`表示Non Thread Safe,即非线程安全,这意味着该扩展不适用于多线程环境,而是为单线程应用设计。`vc9`指的是Visual C++ 2008编译器,表明该扩展是用此编译器编译的。`x86`则表明这是针对32位系统的扩展...
php_redis.dll要与PHP的编译环境版本一致,否则会报错不能载入。...另外这两个版本呢的php_redis.dll都是Thread Safe版本的,Non-thread Safe版本未测试,如果PHP是Non-thread Safe版本不能用请移步。
1. "ts" 和 "nts":分别代表“Thread Safe”和“Non-Thread Safe”。TS是线程安全版本,适用于多线程的ISAPI环境,如IIS;NTS是非线程安全版本,通常用于Apache等多进程环境。 2. "vc9" 和 "vc11":表示编译器版本...
"nts"代表"Non-thread-safe",这意味着这个PHP构建不是为在多线程环境(如IIS)下运行而优化的。"Win32"通常表示它适用于32位系统,尽管这里可能是出于历史命名习惯,因为"VC9"表明它是使用Visual Studio 2008编译的...
本文将深入探讨PHP版本的选择,特别是针对PHP 5.3版本的VC9和VC6编译器版本,以及Thread Safe和Non Thread Safe版本的区别。 首先,我们来看PHP 5.3版本的VC9和VC6编译器版本。这两个版本主要的区别在于它们所使用...
print_r(arraysSum([1,2,3], [4,5,6], [7,8,9])); 从这个例子中可以看出现在函数(包括匿名函数)都可以指定返回值的类型。 这种声明的写法有些类似于 swift: ? 1 2 3 4 func sayHello(personName: ...
3. **NTS (Non-Thread Safe)**: 在多线程环境中,线程安全意味着代码可以在不同线程同时运行时保持正确性。然而,Windows上的PHP通常与ISAPI扩展一起使用,这不需要线程安全性,因此选择NTS版本可以提高性能。非线程...
PHP5.3提供了VC9和VC6两个不同编译器版本,以及Thread Safe(线程安全)和Non Thread Safe(非线程安全)两种模式。VC6版本适用于Apache环境,而VC9版本则更适合IIS。Thread Safe版本适用于ISAPI执行方式,确保线程...
- PHP5.3提供了不同版本,如VC9 x86 Non Thread Safe和Thread Safe。VC9版本是用Visual Studio 2008编译,适合IIS,而非Thread Safe版本适用于FastCGI执行模式,因为它无需进行线程安全检查,提高了执行效率。 - ...
在"php-5.3.8-nts-Win32-VC9-x86"这个压缩包中,"nts"代表“Non-thread-safe”,意味着这个版本的PHP不支持多线程。对于大多数Web服务器(如Apache或IIS)来说,这通常是首选,因为它们通常通过模块方式运行PHP,而...
"nts"代表非线程安全(Non-thread-safe),这意味着这个版本的PHP不适用于多线程环境,比如ISAPI扩展在IIS下。如果你的服务器环境主要依赖于FastCGI或者mod_php(Apache模块)等单线程模型,那么非线程安全的PHP版本...