VC6:legacy Visual Studio 6 compiler
,就是使用这个编译器编译的VC9:Visual Studio 2008 compiler
,就是用微软的VS编辑器编译的TS:Thread Safe
线程安全, 执行时会进行线程(Thread)
安全检查NTS:Non Thread Safe
非线程安全, 在执行时不进行线程(Thread)
安全检查
以windows
为例,看看下载到得php zip
的文件名
php-5.4.4-nts-Win32-VC9-x86.zip
VC6:legacy Visual Studio 6 compiler
,就是使用这个编译器编译的。
VC9:Visual Studio 2008 compiler
,就是用微软的VS编辑器编译的。
这个其实没有什么太大的影响,因为从php 5.3
,已经没有vc6
版本提供下载了
TS:Thread Safe
线程安全, 执行时会进行线程(Thread)
安全检查
NTS:Non Thread Safe
非线程安全, 在执行时不进行线程(Thread)
安全检查
我使用Apache+PHP
的模式下,一般是把PHP
作为一个Module load
到apache
中,那么以apache
父进程-多子进程的工作模式,是需要进行线程安全检查的,所以如果是以这种方式执行php
,选择ts
版本
那么如果是使用fastcgi
,比如说用php-fpm
管理php
执行,则不需要进行线程安全检查,则选择nts
版本的php
php 5.5.0 beta 1
发布后, 安装出现问题, 家中电脑升级是成功的, 可公司的电脑一直提示无法加载到服务. 操作系统都一样的, 没什么区别www.php.net
官网左侧的说明提醒了我.
php-5.5.0beta1-Win32-VC11-x86
安装包的名字也已经说明了, 要运行必须安装vc11
, x86
表示32位, 假如是x64
就是64位, 位数对于安装vc11
有帮助, 个人建议vc11 x86
, x64
两个版本都安装上比较好, 反正没冲突.
然后启动服务, 搞定phpinfo
信息如下:
VC6:legacy Visual Studio 6 compiler
,就是使用这个编译器编译的。
VC9:Visual Studio 2008 compiler
,就是用微软的VS编辑器编译的。
由于apache.or
g只提供VC6
的版本,所以使用原版apache
时只能使用VC6
。(www.apachelounge.com
上有apache VC9
的版本提供,应该可以和PHP VC9
配合,没用过)
TS:Thread Safe
线程安全, 执行时会进行线程(Thread)
安全检查,以防止有新要求就启动新线程的CGI
执行方式而耗尽系统资源
NTS:Non Thread Safe
非线程安全, 在执行时不进行线程(Thread)
安全检查
PHP
的两种执行方式:ISAPI
和FastCGI
。
ISAPI`
(Internet Server Application Programming Interface)执行方式是以
DLL动态库的形式使用,可以在被用户请求后执行,在处理完一个用户请求后不会马上消失,所以需要进行线程安全检查,这样来提高程序的执行效率,所以如果是以
ISAPI来执行
PHP,建议选择
hread Safe`版本
apache
中的配置方式:
下面这个是加载TS
版本的php
必须的
LoadModule php5_module “xxx/php5apache2_2.dll”
下面这行可有可无
AddType application/x-httpd-php-source .phpsAddType application/x-httpd-php .php .php5 .php4 .php3 .phtml .phpt
FastCGI
执行方式是以单一线程来执行操作,所以不需要进行线程的安全检查,除去线程安全检查的防护反而可以提高执行效率,所以,如果是以FastCGI
来执行PHP
,建议选择Non Thread Safe
版本。
apache
中的配置方式:
下面这两行是加载NTS版本的php必须的,不可以直接写成Action application/x-httpd-php “c:/wamp/bin/php/php3.5.6/php-cgi.exe”!
1 | ScriptAlias /php/ "C:/wamp/bin/php/php3.5.6/" |
另外,还要有之前的AddType application/x-httpd-php .php .php5 .php4 .php3 .phtml .phpt
,这样才能认识php
格式的文件
这样配置完可能还会因为权限问题而无法用php-cgi.exe解析php网页,所以还要加上下面这段
1 | <Directory "C:/wamp/bin/php/php5.3.6/"> |
官方并不建议你将Non Thread Safe
应用于生产环境,所以我们选择Thread Safe
版本的PHP来使用。
XAMPP在http-xampp.conf
中默认配置是使用ISAPI
的方式