PHP中基于ts与nts版本- vc6和vc9编译版本的区别详解
vc6:legacy visual studio 6 compiler,就是使用这个编译器编译的。
vc9:visual studio 2008 compiler,就是用微软的vs编辑器编译的。
由于apache.org只提供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,建议选择thread safe版本
apache中的配置方式:
#下面这个是加载ts版本的php必须的
loadmodule php5_module “xxx/php5apache2_2.dll”
#下面这行可有可无
addtype application/x-httpd-php-source .phps
addtype 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”!
scriptalias /php/ "c:/wamp/bin/php/php3.5.6/"
action application/x-httpd-php “/php/php-cgi.exe”
#另外,还要有之前的addtype application/x-httpd-php .php .php5 .php4 .php3 .phtml .phpt,这样才能认识php格式的文件
#这样配置完可能还会因为权限问题而无法用php-cgi.exe解析php网页,所以还要加上下面这段
<directory "c:/wamp/bin/php/php5.3.6/">
allowoverride none
options none
order allow,deny
allow from all
</directory>
官方并不建议你将non thread safe 应用于生产环境,所以我们选择thread safe 版本的php来使用。
xampp在http-xampp.conf中默认配置是使用isapi的方式
推荐阅读
-
PHP中基于ts与nts版本- vc6和vc9编译版本的区别详解
-
PHP中VC6、VC9、TS、NTS版本的区别与用法详解
-
PHP中基于ts与nts版本- vc6和vc9编译版本的区别详解_PHP
-
PHP中基于ts与nts版本- vc6和vc9编译版本的区别详解_PHP
-
PHP中VC6、VC9、TS、NTS版本的区别与用法详解_PHP
-
PHP中基于ts与nts版本- vc6和vc9编译版本的区别详解
-
PHP中VC6、VC9、TS、NTS版本的区别与用法详解_php技巧
-
PHP中VC6、VC9、TS、NTS版本的区别与用法详解
-
PHP中VC6、VC9、TS、NTS版本的区别与用法详解_php技巧
-
PHP中基于ts与nts版本- vc6和vc9编译版本的区别详解